View Full Version : مشکل در استفاده از bulk insert
az_farzaneh
شنبه 17 فروردین 1387, 14:15 عصر
سلام .من می خوام یه text file به حجم 11M با 240000رکورد با این فرمت :
961999210506893690859 080324110903000001700003N به table با این ساختار :
caller char 10
called char 16
dateContact char 6
startTime char 6
Duration char 6
Pulse char 6
import کنم .از دستور bulk insert به این شکل استفاده کردم .به error برخوردم .آیا من از این دستور درست استفاده کردم ؟
bulk insert tblDetailContact from 'd:\log.txt'
e-shahshahani
شنبه 17 فروردین 1387, 18:37 عصر
لطفا توضیح بدهید که این فرمتی که نوشتید به چه صورت داخل فیلد ها قرار میگیره. چند تا چندتا باید جدا کرد و ودر فیلد ها گذاشت. من هر چی نگاش کردم نفهمیدم!
موفق باشید
az_farzaneh
یک شنبه 18 فروردین 1387, 09:39 صبح
سلام. من میخوام طبق structure table که ساختم انجام شه .مثلا 10 کاراکتر اول به عنوان فیلد caller و ....
از راهنمایی بیشتر ممنونم .
AminSobati
یک شنبه 18 فروردین 1387, 14:12 عصر
دوست عزیزم،
شاید Format File در کنار دستور BULK INSERT بتونه کمک کنه. در SQL Server 2005 قابلیتهای بیشتری برای Format File وجود داره. در Books Online صفحات مربوطه رو بررسی کنید
az_farzaneh
دوشنبه 19 فروردین 1387, 14:10 عصر
من با توجه به توضیح شما search کردم ولی هنوز موفق نشدم...
در ضمن من از sql server 2000 استفاده میکنم.
AminSobati
شنبه 24 فروردین 1387, 13:42 عصر
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=46473
az_farzaneh
سه شنبه 08 مرداد 1387, 15:35 عصر
سلام .
فرض کنید فایل text
476119870331000020504000000936
0032860287033102225228761460000033972709057820
0032865987033103350299761490000004672786004219
0032860287033104351651761420000032872703020421
0032860287033102248480761420000009272798090930
0032865987033103335234761480000004172703004144
را با دستور
bulk insert tblDetailIfm from 'c:\2.txt' with (FORMATFILE='c:\saderat_fmt.txt' , FIRSTROW=2)
و فرمت فایل
8.0
6
SQLCHAR 0 6 "" 1 BranchCode Arabic_CI_AS
SQLCHAR 0 2 "" 2 ChannelType Arabic_CI_AS
SQLCHAR 0 6 "" 3 PayDate Arabic_CI_AS
SQLCHAR 0 13 "" 4 BillID Arabic_CI_AS
SQLCHAR 0 13 "" 5 PaymentID Arabic_CI_AS
SQLCHAR 0 6 "\r\n" 6 RefCode Arabic_CI_AS
import کردیم.اما دقیقا از سطر سوم انتقال می دهد و سطر دوم را نادیده میگیرد .من فقط می خواهم header(سطر اول) فایل در نظر گرفته نشود .باید چیکار کنم ؟
AminSobati
چهارشنبه 09 مرداد 1387, 11:26 صبح
با اطلاعاتی که پست کردین من فایلها رو ساختم اما موفق به import نشدم، این خطا رخ داد:
Invalid column number in the format file
مطمئن هستین که format file و data رو دقیق پست کردین؟ ضمنا Script جدول هم نیاز هست
az_farzaneh
پنج شنبه 10 مرداد 1387, 14:08 عصر
این خطا مربوط به ساختار اشتباه format file می باشد .که زمان پست کردن ایجاد شده بود .
در هر صورت format file و script table را ضمیمه می کنم .در ضمن ساختار فایل text نیز درست می باشد.
مرسی.
AminSobati
پنج شنبه 10 مرداد 1387, 16:31 عصر
دوست عزیزم Books Online اینطور نوشته که Header در فایل برای BULK INSERT پشتیبانی نمیشه. سطر اول اگر حذف بشه، میتونین تمام فایل رو BULK INSERT کنین.
The FIRSTROW attribute is not intended to skip column headers. Skipping headers is not supported by the BULK INSERT statement. When skipping rows, the SQL Server Database Engine looks only at the field terminators, and does not validate the data in the fields of skipped rows.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.