【问题标题】:SQL to Access linked serverSQL 访问链接服务器
【发布时间】:2011-05-03 17:59:48
【问题描述】:

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

【问题讨论】:

    标签: sql ms-access-2007


    【解决方案1】:

    我想通了……

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

    Download from here

    安装 Microsoft.ACE.OLEDB.12.0 作为提供程序,我可以使用 BradBenning 在他的帖子中提到的 SQL 命令。

    【讨论】:

    • 我不明白你要做什么?
    • 我有 64 位机器上的 SQL Server 2008 和 Accecc 2007 ...我想要 Microsoft.Jet.OLEDB.4.0...
    • 典型的驱动程序不适用于 64 位机器。我退缩了,改用 microsoft ACE OLEDB。
    【解决方案2】:

    尝试使用 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 
    

    【讨论】:

    • 这给了我这个...'(null)' 是无效的产品名称。
    猜你喜欢
    • 1970-01-01
    • 2010-12-04
    • 2017-05-12
    • 2021-03-25
    • 1970-01-01
    • 2012-07-21
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多