无法初始化链接服务器 "(null)" 的 OLE DB 访问接口

目的 : 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 且需安装另一款组件。
原文地址:https://www.cnblogs.com/y0umer/p/3839338.html