SQL Server链接服务器到MS Access - DSN体系结构不匹配错误

时间:2017-06-05 18:46:40

标签: sql-server ms-access sql-server-2016-express

我正在使用SQL Server 2016 Express,尝试通过ODBC数据源连接到网络上另一台服务器上的Access数据库。我已经查了许多教程并尝试了各种不同的方法,但无法使连接工作。最终我似乎陷入了这个错误:

  

[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配(Microsoft SQL Server,错误:7303)

要排除权限和网络问题,我已将数据库复制到本地计算机以尝试创建测试连接。我已验证Microsoft Access的安全设置为OFF(表示没有用户名/密码登录)。我确保使用32位版本的ODBC数据源管理器(在Windows\SysWOW64\中),在SQL Server中尝试了各种设置,甚至尝试通过T-SQL代码直接创建链接服务器,像这样:

EXEC sp_addlinkedserver
     @server = N'TESTLINK',
     @provider = N'MSDASQL',
     @srvproduct = N'',
     @datasrc = N'TEST';

以下是我用来尝试创建此连接的当前设置,我不断收到此错误:

ODBC Data Source

New Linked Server Dialog

Linked Server Security Settings

Error Message

请注意,我还尝试了“新建链接服务器”对话框的“安全”选项卡上的每个设置,但每次都收到错误。

如果有人对我在这里遗失的内容有所了解,请告诉我。

编辑:这里有一个类似的问题,但它是一个老线程,高评价的答案对我来说是不成功的(我已经尝试过):

The specified DSN contains an architecture mismatch between the Driver and Application. JAVA

解决我的问题的关键是我需要专门下载64位版本的Access ODBC驱动程序,可以在这里下载:

https://www.microsoft.com/en-US/download/details.aspx?id=13255

1 个答案:

答案 0 :(得分:1)

如果SQL Server进程以64位运行(这些天似乎极有可能),那么它需要安装64位版本的Access数据库引擎组件。它们可供下载here