日期:2014-05-18 浏览次数:20385 次
--以下语句2000下没有问题,但是到了2005,死活就是这么个问题: SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Country.XLS";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Country$] SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source= "c:\Country.XLS";Extended Properties=Excel 5.0')...[Country$] select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\Country.XLS',Country$) --错误提示 [color=#FF0000]消息 7399,级别 16,状态 1,第 1 行 链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。 消息 7303,级别 16,状态 1,第 1 行 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。[/color] --个人感觉应该是权限不足,但是不知道该怎么搞,各位热心的帅哥美女帮忙哈!!! --OPENDATASOURCE 和 OPENROWSET 支持已经设置启用了
--> 2005 换 Microsoft.ACE.OLEDB.12.0 试下,在我机器上测是没问题的,Microsoft.Jet.OLEDB.4.0 也没问题: SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="c:\Country.XLS";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Country$] SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source= "c:\Country.XLS";Extended Properties=Excel 5.0')...[Country$] select * from OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\Country.XLS',Country$)
------解决方案--------------------
--> 你的 Excel 版本太低了,起码用8.0以上试试: /* 2.0 Excel 2.0 3.0 Excel 3.0 4.0 Excel 4.0 5.0 Excel 5.0 7.0 Excel 95 8.0 Excel 97 9.0 Excel 2000 10.0 Excel XP 11.0 Excel 2003 12.0 Excel 2007 */
------解决方案--------------------
mark
------解决方案--------------------
2005在使用openrowset和opendatasource时有很多问题,
我之前一个运行的很好导入Excel的T-SQL,也是使用Openrowset写的,在打了SP1以后不能使用,在打了SP2之后一段时间可以使用,
但是后来又不能使用,我也不知道是什么原因,估计是升级了MS的其它补丁,导致不能使用,
尝试了网络上所有的解决方案,无效.一直没有找到解决方案.
然后修改成SSIS直接导入方式完成的.
可能的话,建议LZ也使用SSIS方式导入表中完成,
否则,不知道哪天升了个MS的补丁后又会出现这样的问题.
烦~
------解决方案--------------------
一样,关注
------解决方案--------------------