如何将 MySQL 链接服务器添加到 SQL Server?

Mik*_*ike 8 mysql sql-server

我正在尝试将 SQL Server 上的链接服务器添加到 MySQL Server。

请注意,SQL Server 安装在具有不同域名的单独计算机上。

SQL Server10.0.1.1位于 old_domain.com 上。

MySQL 服务器10.0.1.2位于 new_domain.com 上。

我在服务器上添加了一个 ODBC 数据源10.0.1.1并测试了连接,没有报告任何问题。

然后我打开 Microsoft SQL Server Management Studio 并导航到SQL SERVER > Server Object > Linked Servers.

我进入向导以添加链接服务器,并像这样配置它:

  1. 链接服务器:“MySQLNewServer”
  2. 我在第一步添加的数据源中选择了“其他数据源”提供程序“Microsoft OLE DB Provider for ODBC”产品名称“Connection to MySQL”数据源“MySQL”同名。
  3. 在安全选项卡上,我选择了“使用此安全上下文制作”,然后输入 SQL Server 用户名和 SQL Server 密码
  4. 我点击“确定”

注意:我按照此链接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 (10055) Microsoft SQL Server 错误:7303 上的 MySQL 服务器。

有人可以告诉我我做错了什么吗?我怎样才能让这两个服务器进行通信?

Mic*_*bot 0

我推测这并不完全是您做错的事情,更像是 Windows 不会很麻烦地告诉您实际问题是什么。

括号中的数字(10055)是ODBC驱动程序尝试连接MySQL时返回的系统错误。

C:\>perror 10055
Win32 error code 10055: An operation on a socket could not be performed because
the system lacked sufficient buffer space or because a queue was full.
Run Code Online (Sandbox Code Playgroud)

不是很有帮助。错误 10055 是WSAENOBUFS,这可能是一个更有用的代码,可用于深入了解问题的本质,或者可能会分散注意力,是实际问题的副作用。

好消息(如果有好消息的话)是,我有信心您至少可以将故障排除工作减少一半,只关注 SQL Server 端,因为这不是 MySQL Server 会“返回”给您的错误。我的意思是,这不是“连接时”的失败,而是真正开始连接过程的失败。您从未真正连接到 MySQL 服务器,因此您应该能够安全地排除 MySQL 服务器端的权限和其他配置作为问题的一部分,直到您克服了这种阻止您尝试的特定情况。连接。

另一个问题中,错误代码是相同的,问题是无法连接到MySQL服务器,尽管我认为在这种情况下它不是链接服务器,而只是普通的客户端连接,并且有问题的计算机显然有网络问题。

另一个错误代码 7303 似乎暗示SQL Server 端存在权限问题。也在这里。抱歉,我无法更具体地说明要尝试的事情,但也许这里的某些内容会让您朝着有用的方向前进。