无法查询SQL链接服务器 - >远程MS Access,仅适用于服务器

时间:2010-01-14 15:16:23

标签: sql-server ms-access linked-server

我正在使用一个C#应用程序来查询远程服务器(LAN)上的SQL Server 2008 Express实例。

当我在工作站/开发机器上时,我可以打开SQL Server Management Studio并通过Windows身份验证连接到SQL实例,并且出于所有意图和目的,体验与在服务器上“SSMS”中工作相同。据我所知,我可以在我的工作站做任何事情,我可以在服务器上做。

同一台服务器托管一个Access 2003 .mdb文件,该文件在SQL实例中设置为链接服务器。

有问题的查询返回通过连接SQL数据库和Access数据库中的表而编译的结果集。

当我在服务器上“执行”查询时,也就是说我在服务器计算机上运行SQL Server Management Studio时,一切都按预期工作。但是,当我尝试从我的开发机器运行相同的查询时,无论是在SSMS中还是在尝试运行集成测试或调试应用程序时,我都无法对链接服务器执行任何操作。我可以在SSMS中看到它,但任何执行任何操作的尝试都会导致:

  

无法为链接服务器“<DatabaseName&gt;”初始化OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”的数据源对象。

我已查看了许多与此错误相关的线程并尝试了许多提供程序设置的排列,但都无济于事。

  • Access DB没有密码(我已尝试将安全性设置为使用名称“Admin”无密码)
  • 工作站用户帐户对Access DB所在的服务器目录具有完全权限
  • 服务器作为Win XP Pro SP3和现在使用Win Server 2003
  • 的行为相同
  • 客户端作为Win XP Pro SP3和现在使用Win 7 Pro x32
  • 的行为相同

在服务器上运行良好,永远不会远程。

非常感谢。

1 个答案:

答案 0 :(得分:1)

使用SQL Server身份验证代替NT Auth,正如Burnsys所建议的那样,似乎可以解决问题。事情的 为什么 似乎是一个悬而未决的问题。