日期:2014-05-18  浏览次数:20452 次

Sqlserver 2005 读取excel时的一个很奇怪的问题,在线狂等!
相信大家肯定在sql中读取过excel,但今天碰到件怪事

select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=2;
DATABASE=C:\Documents and Settings\xietingfeng\桌面\07四川新天丰.xls',[order$])

执行以上语句,ok,没问题,读取成功!

但如果在[order$])后面或者select前面多了个空格,再执行以上查询,结果报
"消息 7314,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 不包含表 "order$"。该表不存在,或者当前用户没有访问该表的权限。"

而且把以上查询语句合并成1行,也报这样的错误,有哪位达人能指点下,我2005的版本是--Microsoft SQL Server Management Studio 9.00.1399.00



------解决方案--------------------
没碰到过,顺便顶
------解决方案--------------------
/*
Try:
Excel 5.0 -> Excel 8.0
[order$] -> 'select * from [order$]' -- 隐藏的Sheet必须这样读
*/

select * from openrowset('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=YES;IMEX=2;
DATABASE=C:\Documents and Settings\xietingfeng\桌面\07四川新天丰.xls','select * from [order$]')

------解决方案--------------------
学习了!