mssql sqlserver 无法使用 OPENDATASOURCE,提示”OLE DB 访问接口 ‘Microsoft.Jet.OLEDB.4.0’ 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询”的处理方法


摘要:
今天使用OPENDATASOURCE导出excel,但是出现错误信息
OLE DB 访问接口 ‘Microsoft.Jet.OLEDB.4.0’ 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询
实验环境:sqlserver 2008 R2 window7


当运行sql脚本输出excel时,出现以下提示信息

消息 7308,级别 16,状态 1,第 4 行
因为 OLE DB 访问接口 ‘Microsoft.JET.OLEDB.4.0’ 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。

因为 OLE DB 访问接口 'Microsoft.JET.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询

因为 OLE DB 访问接口 ‘Microsoft.JET.OLEDB.4.0’ 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询


处理方法如下:
1.下载64位的 ACE2010驱动程序,
http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=c06b8369-60dd-4b64-a44b-84b371ede16d
2.将脚本中 Microsoft.Jet.OLEDB.4.0 修改为 Microsoft.ACE.OLEDB.12.0

3.设置sqlserver对组件的阻止信息

 exec sp_configure 'show advanced options',1

reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

4.重新运行导出脚本