SQL Server将服务器链接到MS Access-DSN体系结构不匹配错误 [英] SQL Server Linked Server to MS Access - DSN Architecture Mismatch Error

查看:250
本文介绍了SQL Server将服务器链接到MS Access-DSN体系结构不匹配错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am using SQL Server 2016 Express, trying to connect to an Access Database on another server on the network, via an ODBC Data Source. I have looked up a number of tutorials and tried a variety of different methods, but cannot get the connection to work. Ultimately I seem to be stuck on this error:

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

[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (Microsoft SQL Server, Error: 7303)

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

To rule out permissions and networking issues, I have copied the database to the local machine to try to create a test connection. I have verified that the security settings for Microsoft Access are OFF (meaning there is no username / password to log in). I am making sure to use the 32-bit version of the ODBC Data Source Administrator (in Windows\SysWOW64\), have tried a variety of settings in SQL Server, and have even tried creating the linked server directly via T-SQL code, like this:

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

这是我用来尝试建立此连接的当前设置,在此我不断收到此错误:

Here are the current settings I am using to try to create this connection, where I keep getting this error:

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

Note that I have also tried each of the settings on the Security tab of the New Linked Server dialog, but have received errors each time.

如果有人对我在这里可能会缺少的东西有所了解,请告诉我.

If anyone has an idea to what I might be missing here, please let me know.

这里有一个类似的问题,但这是一个老话题,对我来说,评分很高的答案是不成功的(我已经尝试过了):

There is a similar question here, but it is an old thread, and the highly rated answers were unsuccessful for me (I had already tried):

指定的DSN包含一个驱动程序和应用程序之间的体系结构不匹配. JAVA

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

The key to resolving my issue was that I needed to specifically download the 64-bit version of the Access ODBC driver, which can be downloaded here:

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

推荐答案

如果SQL Server进程正在以64位版本运行(这几天看来很有可能),则它需要具有Access数据库的64位版本引擎组件已安装.可以在此处下载.

If the SQL Server process is running as 64-bit (which seems extremely likely these days) then it needs to have the 64-bit version of the Access Database Engine components installed. They are available for download here.

这篇关于SQL Server将服务器链接到MS Access-DSN体系结构不匹配错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆