PDA

View Full Version : کد معادل انتقال داده از فایل csv به بانک اکسس



khoshblagh
شنبه 23 آبان 1394, 16:39 عصر
با سلام خدمت دوستان
کد زیر با کمک اساتید همین تالار بدرستی اطلاعات را از یک فایل csv به بانک sql منتقل مینماید. میخواهم معادل همین کد برای انتقال به بانک اکسس را استفاده نمایم. لطفا راهنمایی بفرمائید. متشکرم.



cmdImportData .CommandText:='BULK INSERT tblImportData FROM '+
QuotedStr(edtCSVFileName.Text)+
' WITH (FIELDTERMINATOR='';'''+
',CODEPAGE = ''1256'''+
',FirstRow=2'+
',ROWTERMINATOR = ''\n'')';

ابوالفضل عباسی
دوشنبه 25 آبان 1394, 14:22 عصر
با سلام
ببین این دستور کارت رو راه میاندازه یا نه::متفکر:

SELECT * INTO NewTable
FROM [Text;HDR=Yes;FMT=Delimited;Database=C:\Docs].Test.csv

khoshblagh
دوشنبه 25 آبان 1394, 16:20 عصر
با سلام
ببین این دستور کارت رو راه میاندازه یا نه::متفکر:

SELECT * INTO NewTable
FROM [Text;HDR=Yes;FMT=Delimited;Database=C:\Docs].Test.csv
با سلام و تشکر از پاسختان
پیام را نگاه کن
136839
من کد را در یک adoCommand که با بانک اکسس مربوطه وصل بود قرار دادم . به این صورت:


cmdImportData .CommandText:='SELECT * INTO tblImportData '+
'FROM [Text;HDR=Yes;FMT=Delimited;'+
'Database=C:\Docs].103.csv';

ابوالفضل عباسی
دوشنبه 25 آبان 1394, 17:26 عصر
یه کامپوننت هست به اسم EMS Quick Import (http://www.supersharewave.tk/info/ems-quick-import.html) این شاید بتونه کمکت کنه
من تعداد زیادی کد دارم از پروژه های قدیمیم نمیدونم کدومش کار میکنه این کد هارو میدم زحمت تست کردنش با شما:لبخند::

ADOCommand.CommandText := 'INSERT INTO MyDatabase SELECT * FROM
[MyCsvFile.csv] in "F:\MyDirectory" "Text;HDR=Yes;"


ADOCommand.CommandText := 'INSERT INTO MyDatabase SELECT * FROM
[TEXT;HDR=Yes;Database=F:\MyDirectory\;].[MyCsvFile#csv];';


NSERT INTO MyTable SELECT * FROM OPENDATASOURCE ('Microsoft.JET.OLEDB.4.0', 'Data Source=F:\MyDirectory;Extended
Properties="text;HDR=No"')...[MyCsvFile#csv]

:لبخند:

hadisalahi2
سه شنبه 26 آبان 1394, 15:48 عصر
چرا از کامپوننت های EMS Import‌استفاده نمیکنی
هر نوع فایلی رو میتونی به بانک اطلاعاتی خودت بیاری بدون نیاز به کد نویسی های زیاد
فقط با یک خط متد میتونی این کار رو انجام بدی
توصیه من اینه که از این کامپوننت حتما استفاده کنی

ابوالفضل عباسی
سه شنبه 26 آبان 1394, 17:09 عصر
بنظرم کامپوننته خیلی راحتتره چون نیاز به برنامه نویسی زیادی نداری.
با فرمان ممکن بعضی وقت ها جواب نده ولی کامپوننت خیلی امکانات و مانوردهی بیشتری داره من در پست قبلی هم لینکش رو گذاشتم.

khoshblagh
جمعه 29 آبان 1394, 09:53 صبح
یه کامپوننت هست به اسم EMS Quick Import (http://www.supersharewave.tk/info/ems-quick-import.html) این شاید بتونه کمکت کنه
من تعداد زیادی کد دارم از پروژه های قدیمیم نمیدونم کدومش کار میکنه این کد هارو میدم زحمت تست کردنش با شما:لبخند::

ADOCommand.CommandText := 'INSERT INTO MyDatabase SELECT * FROM
[MyCsvFile.csv] in "F:\MyDirectory" "Text;HDR=Yes;"


ADOCommand.CommandText := 'INSERT INTO MyDatabase SELECT * FROM
[TEXT;HDR=Yes;Database=F:\MyDirectory\;].[MyCsvFile#csv];';


NSERT INTO MyTable SELECT * FROM OPENDATASOURCE ('Microsoft.JET.OLEDB.4.0', 'Data Source=F:\MyDirectory;Extended
Properties="text;HDR=No"')...[MyCsvFile#csv]

:لبخند:

با سلام
کامپوننت مورد اشاره شما فقط تا دلفی 10 را پشتیبانی مینماید. من از xe4 استفاده میکنم ، لذا برای من قابل استفاده نیست.:گریه: