SQL Server链接服务器到MS Access - DSN体系结构不匹配错误
我正在使用SQL Server 2016 Express,尝试通过ODBC数据源连接到网络上另一台服务器上的Access数据库。我查了一些教程,并尝试了各种不同的方法,但无法使连接工作。最终,我似乎停留在此错误:SQL Server链接服务器到MS Access - DSN体系结构不匹配错误
[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代码直接创建链接服务器,如下所示:
EXEC sp_addlinkedserver
@server = N'TESTLINK',
@provider = N'MSDASQL',
@srvproduct = N'',
@datasrc = N'TEST';
下面是我用的,试图建立这种连接,在那里我不断收到此错误的当前设置:
请注意,我也尝试过每一个新建链接服务器对话框的安全选项卡上的设置,但已收到错误每次。
如果有人有一个想法,我可能会错过这里,请让我知道。
编辑:有一个类似的问题在这里,但它是一个古老的线程,并高度评价答案是不成功的,我(我已经尝试过):
The specified DSN contains an architecture mismatch between the Driver and Application. JAVA
关键要解决我的问题是,我需要专门下载Access ODBC驱动程序的64位版本,它可以在这里下载:
https://www.microsoft.com/en-US/download/details.aspx?id=13255
您是否看过[指定的DSN包含驱动程序和应用程序之间的架构不匹配。 JAVA](https://stackoverflow.com/questions/8895823/the-specified-dsn-contains-an-architecture-mismatch-between-the-driver-and-appli)? –
如果SQL Server进程正在以64位的方式运行(看起来很可能),那么它可能会想要与64位ODBC驱动程序进行通信。 –
@GordThompson是的,这是64位的SQL Server。我们需要它是64位的。您是否在说我需要为SQL Server安装一些可以连接到32位ODBC驱动程序的东西?这是有道理的...我正在查找一些信息。 –