将Excel表导入到SQL数据库出错,什么原因?(100)

  • 主题发起人 主题发起人 motohm
  • 开始时间 开始时间
M

motohm

Unregistered / Unconfirmed
GUEST, unregistred user!
将Excel表导入到SQL数据库,执行下面的代码出错,什么原因?sqlcmd :='INSERT INTO ' + tablename +' ('+FieldNames +') SELECT '+FieldNames + ' FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'','+ '''Data Source="'+DataFileName+'";'+ 'Extended Properties="Excel 8.0;HDR=Yes;";Persist Security Info=False'')...['+cbImportTable.Text+']'; try ADOConnection1.Execute(sqlcmd); except on E:exception do Application.MessageBox(PChar(E.Message),‘出错’,MB_ICONSTOP); end;
 
把错误信息贴出来~~
 
错误信息:OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
 
先调试一下,看看运行的时候sqlcmd到底是什么语句,再用手动的导入一次看看有没有什么问题,确认是不是因为sqlcmd写的不对。
 
运行时sqlcmd的值是:INSERT INTO ZINTELCOO SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:/Samplev10.xls";Extended Properties="Excel 8.0;HDR=Yes;";Persist Security Info=False')...ZINTELCOO$
 
ADOConnection1.ConnectionStrin:=Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=Arvato;Data Source=COLAMARK/SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=COLAMARK;Use Encryption for Data=False;Tag with column collation when possible=False
 
后退
顶部