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

关于excel直接导入到数据库的问题~~~~谢谢
问题如下:

在本机的sql查询分析器里执行下列语句一切正常,可以将excel文档中的数据导入到库中:

insert   into   JSOtherUsers   select   '10000003 '   as   userid,姓名   ,   convert(varchar,cast(手机   as   numeric))   as   mobile   from   OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 ', 'Excel   5.0;HDR=YES;DATABASE=D:\啊啊啊啊啊啊啊啊啊.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通过网络能访问到,例如\\202.102.11.22\共享文件夹\文件名
改为DATABASE=\\202.102.11.22\共享文件夹\文件名
------解决方案--------------------
Excel 5.0改为Excel 8.0试试
正确语法如下:
insert JSOtherUsers
select '10000003 ' as userid,姓名 , convert(varchar,cast(手机 as numeric)) as mobile
FROM openrowset( 'Microsoft.Jet.OLEDB.4.0 ',
'EXCEL 8.0;HDR=YES;IMEX=1; DATABASE=D:\啊啊啊啊啊啊啊啊啊.xls ',ms$)as roy