我正在使用 SQL Server 2016 Express,尝试通过 ODBC 数据源连接到网络上另一台服务器上的 Access 数据库。我查阅了许多教程并尝试了各种不同的方法,但无法使连接正常工作。最终我似乎陷入了这个错误:
[Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配(Microsoft SQL Server,错误:7303)
为了排除权限和网络问题,我已将数据库复制到本地计算机以尝试创建测试连接。我已验证 Microsoft Access 的安全设置已关闭(意味着没有用户名/密码可登录)。我确保使用 32 位版本的 ODBC 数据源管理器(在 中Windows\SysWOW64\
),在 SQL Server 中尝试了各种设置,甚至尝试通过 T-SQL 代码直接创建链接服务器,如下所示:
EXEC sp_addlinkedserver
@server = N'TESTLINK',
@provider = N'MSDASQL',
@srvproduct = N'',
@datasrc = N'TEST';
以下是我用来尝试创建此连接的当前设置,但我不断收到此错误:
请注意,我还尝试了“新建链接服务器”对话框的“安全”选项卡上的每个设置,但每次都收到错误消息。
如果有人知道我在这里可能缺少什么,请告诉我。
编辑:这里有一个类似的问题,但它是一个旧线程,并且高度评价的答案对我来说是不成功的(我已经尝试过):
指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配。JAVA
解决我的问题的关键是我需要专门下载 64 位版本的 Access ODBC 驱动程序,可以在这里下载:
https://www.microsoft.com/en-US/download/details.aspx?id=13255