目的 : sql2008 读取 excel
环境 :sql2008 win7 excel(版本不详)
执行 : SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/ebilling.xls";Extended properties=Excel 5.0')...sheet1$
显示错误:链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。
解决方法:
1.启用Ad Hoc Distributed Queries
--启用Ad Hoc Distributed Queries:
exec sp_configure "show advanced options",1
reconfigure
exec sp_configure "Ad Hoc Distributed Queries",1
reconfigure
--使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure "Ad Hoc Distributed Queries",0
reconfigure
exec sp_configure "show advanced options",0
reconfigure
2.执行语句修改为 :SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source=c:/ebilling.xls;Extended properties=Excel 8.0')...Sheet1$
参考原文:
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源
问题:
在SQL服务器上用sa账号登陆后执行
SELECT * FROM OpenDataSource( "Microsoft.Jet.OLEDB.4.0","Data Source="d:/a.xls";User ID=Admin;Password=;Extended properties=Excel 8.0")...[Sheet1$]
提示:
链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。
此语句以前正常。大约1周前出现上述问题,我们查阅了大量的资料都无法解决,请高手赐教
解决:
1、文件是不是加密码了
2、xls要关闭,不能打开
3、是否允许OPENDATASOURCE 支持
4、你是2005 还是2000?
5.启用Ad Hoc Distributed Queries
--启用Ad Hoc Distributed Queries:
exec sp_configure "show advanced options",1
reconfigure
exec sp_configure "Ad Hoc Distributed Queries",1
reconfigure
--使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure "Ad Hoc Distributed Queries",0
reconfigure
exec sp_configure "show advanced options",0
reconfigure
问题:
尚未注册 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0"。
解决:
安装office2010 且需安装另一款组件。