SQL访问链接服务器

时间:2011-05-03 17:59:48

标签: sql ms-access-2007

我正在尝试将链接服务器添加到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。

2 个答案:

答案 0 :(得分:5)

我明白了......

运行SQL Server的服务器是64Bit计算机。典型的数据连接组件驱动程序不适用于此计算机(即将Microsoft.Jet.OleDB.4.0作为提供程序安装的下载)。我不得不下载具有64位选项的Access 2010组件。

Download from here

将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