日期:2014-05-19  浏览次数:20468 次

想请大家帮忙解决一个问题谢谢
将D   盘下的某个文件导入到sql数据库中怎么老是报错
假如d:下的文件名叫   dd   有如下几个字段(pz,jg,qsrq,zzrq)
sql中的数据库名叫   bbj

insert   into   bbj
select   *,
from   openrowset( 'MICROSOFT.JET.OLEDB.4.0 ', 'EXCEL   5.0;HDR=YES;DATABASE=d:\dd.XLS ',
[sheet1$])

执行后总报如下错误服务器:   消息   7314,级别   16,状态   1,行   1
OLE   DB   提供程序   'MICROSOFT.JET.OLEDB.4.0 '   不包含表   'sheet1$ '。该表可能不存在,或当前用户没有使用该表的权限。
OLE   DB   错误跟踪[Non-interface   error:     OLE   DB   provider   does   not   contain   the   table:   ProviderName= 'MICROSOFT.JET.OLEDB.4.0 ',   TableName= 'sheet1$ ']。


------解决方案--------------------
--Excel
OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 ', 'Excel 8.0;DATABASE= <Path> \ <FileName> ',{[catalog.][schema.]object| 'query '})
OPENDATASOURCE( 'MICROSOFT.JET.OLEDB.4.0 ', 'Excel 8.0;DATABASE= <Path> \ <FileName> ')

------解决方案--------------------
OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0 ' 不包含表 'sheet1$ '。该表可能不存在,或当前用户没有使用该表的权限。

-------------
先確定下d:\dd.XLS中是否有sheet1。
------解决方案--------------------
1、确认当前操作的数据库服务器下确实存在d:\dd.XLS文件,另外,d:\dd.XLS中存在sheet1。
2、确认当前使用用户有足够的权限
------解决方案--------------------
檢查一下EXCEL文檔名稱
------解决方案--------------------
同意 .....批準...