用SQLServer2016x64连接LinkedServer与MySqlx32的问题
我将一个工作系统从Windows2003x32和SQL2005x32和MySqlx32迁移到Win2012R2x64,在旧系统上使用SQL2016SP3x64和MySqlx32,我仍然成功地使用LinkedServer从SQL读取和写入MySql。使用MySql ODBC 3.51 Dreiver。
在新服务器上,我尝试了许多选项,所有这些都导致DSN体系结构不匹配。
我所做的:我使用来自System32和/或SysWOW64的odbcad32.exe安装了MySql-连接器-ODBC-3.51.30-Win 64 (后来我尝试了v5.1.13和5.3.14,包括32和64版本),我成功地在System下添加了数据源并测试了Ok。
在SQLServerManager中,我尝试使用
EXEC master.dbo.sp_addlinkedserver @server='SVTPASS', @srvproduct='SVTPASS', @datasrc='SVTPASS',
@provider='MSDASQL',
@provstr='DRIVER={MySQL ODBC 3.51 Driver}; SERVER=LOCALHOST; Port=3333; USER=******; PASSWORD=********; OPTION=3; DATABASE=svt_fpc_auth'稍后尝试使用"DRIVER={MySQL ODBC 5.3驱动程序}“和"DRIVER={MySQL ODBCD5.3 Unicode驱动程序}”。
但奇怪的是,无论我尝试什么,甚至在DRIVER={}上写胡说八道,我也得到了相同的架构错配错误。
在测试链接服务器连接时,我收到以下错误:"Microsoft指定的DSN包含驱动程序和应用程序之间的体系结构不匹配“
我在哪里做错了?我知道我正在尝试从64位MySql访问32位SQLServer,但是应该有一个解决方案。
我读了很多关于这个问题的论坛文章,并尝试了几个选项,但我很困惑,我现在甚至不知道我尝试了什么组合,什么我还没有尝试。
至少有人能告诉我什么是对付这个问题的正确武器.感谢和感谢
发布于 2022-05-16 07:48:01
我解决了我自己的问题,我新发现我必须从64版本的odbcad32创建DSN,但问题是我试图从SysWOW64文件夹中启动odbcad32.exe,但是它以32位状态启动了一个创建的DSN。只有当我从windows应用程序启动它时,它才在64位内运行并创建了DSN。
谢谢安威
在这种情况下,我不知道该如何处理这个问题。请告知
https://stackoverflow.com/questions/72255337
复制相似问题