我正在尝试将链接服务器添加到Access数据库。我使用以下SQL代码来执行此操作。
exec sp_addlinkedserver
@server = 'Test',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = '\\srv\public$\CM Database\Data\sysConfig_dat.mdb'
go
EXEC sp_addlinkedsrvlogin Test, FALSE, Null, Admin, Null
但是当我跑这个......
select * from Test...tblProduct
我收到此错误...
OLE DB提供程序 'Microsoft.Jet.OLEDB.4.0'不可能 用于分布式查询,因为 提供程序配置为运行 单线程公寓模式。什么 我做错了吗?
我在32位系统上使用SQL Server Management Studio 2008。
答案 0 :(得分:5)
我明白了......
运行SQL Server的服务器是64Bit计算机。典型的数据连接组件驱动程序不适用于此计算机(即将Microsoft.Jet.OleDB.4.0作为提供程序安装的下载)。我不得不下载具有64位选项的Access 2010组件。
将Microsoft.ACE.OLEDB.12.0安装为提供程序,我可以使用BradBenning在其帖子中提到的SQL命令。
答案 1 :(得分:3)
尝试使用Microsoft ACE OLEDB提供程序:
EXEC sp_addlinkedserver
@server = 'Test'
,@provider = 'Microsoft.ACE.OLEDB.12.0'
,@datasrc = '\\srv\public$\CM Database\Data\sysConfig_dat.mdb'
,@srvproduct='Access'
GO