如何在 SQL Server 上将 LinkServer 添加到 MySQL
Posted
技术标签:
【中文标题】如何在 SQL Server 上将 LinkServer 添加到 MySQL【英文标题】:How to add LinkServer to MySQL on SQL Server 【发布时间】:2013-11-15 16:51:29 【问题描述】:我正在尝试将 SQL Server 上的链接服务器添加到 mysql Server。注意 SQL Server 安装在具有不同域名的不同机器上。
所以服务器 "10.0.1.1" old_domain.com "SQL Server" 和第二个服务器是 "10.0.1.2" new_domain.com MySQL 服务器。
我已在服务器“10.0.1.1”上添加了一个 ODBC 数据源,并测试了连接没有问题。
然后我打开 Microsoft SQL Server Management Studio 并导航到 SQLSERVER>服务器对象>链接服务器
然后我进入向导添加链接服务器并像这样填充它 链接服务器:“MySQLNewServer” 我选择了“其他数据源” 提供程序“Microsoft OLE DB Provider for ODBC” 产品名称“连接到 MySQL” 数据源“MySQL”与第一步添加的数据源同名。 在安全选项卡上,我选择了“使用此安全上下文进行制作”,然后输入 SQL Server 用户名和 SQL Server 密码,然后点击“确定”
注意:我按照此链接上的说明进行操作 http://dbperf.wordpress.com/2010/07/22/link-mysql-to-ms-sql-server2008/
但我收到此错误:
链接服务器“MySQLNewServer”的 OLE DB 提供程序“MSDASQL”返回消息“[MySQL][ODBC 5.2(w) 驱动程序] 无法连接到 10.0.1.1 上的 MySQL 服务器 (10055) Microsoft SQL Server 错误:7303。
谁能告诉我我做错了什么?我怎样才能让这 2 个服务器进行通信?
谢谢
【问题讨论】:
您如何针对 MySQL 进行身份验证?您是否检查过您传递的凭据是否正确? ps。这个可能更适合dba.stackexchange.com 如何检查 MySQL 的身份验证?当我添加 ODBC 源时,我做了一个测试,它成功了。 当您创建 ODBC 数据源时,您是否在其中保存了凭据。创建链接服务器时,您是否在连接字符串中包含凭据?在安全选项卡上,您选择了什么安全上下文? 我在创建 ODBC 时保存了用户/密码,我尝试添加一个字符串但没有奏效。同样的错误。这是字符串 DRIVER=MySQL ODBC 5.1 Driver;SERVER=10.0.1.2;PORT=3306;DATABASE=repltest; USER=root;PASSWORD=password;OPTION=3; 【参考方案1】:我在这个话题上遇到了麻烦,32 位和 64 位 ODBC 配置之间存在细微差别。以下工作。
-
使用 MySQL ODBC 5.2 Unicode 驱动程序创建系统 DSN,设置
要访问的架构或数据库
在 SSMS 中创建新的链接服务器
为 ODBC 选择 Microsoft OLE DB 提供程序
输入产品名称的系统 DSN 名称
输入数据源的系统 DSN 名称
输入提供者字符串
DRIVER=MySQL ODBC 3.5.1 Driver;
在安全下,选择使用此安全上下文进行,输入
适当的用户名和密码
【讨论】:
我在这个网站www.thebuttonfactory.nl找到了另一个提供者字符串DRIVER=(MySQL ODBC 5.2 ANSI Driver);SERVER=localhost;PORT=3306;DATABASE=mantisbt; USER=user;PASSWORD=password;OPTION=3;
以上是关于如何在 SQL Server 上将 LinkServer 添加到 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上将 PHP 连接到 SQL Server
使用自定义格式在 SQL Server 上将 varchar 转换为 datetime
如何在 Ubuntu 16.04 上将 Ms SQL 服务器与 R 连接?