【发布时间】:2021-04-20 21:19:00
【问题描述】:
我正在尝试使用分布式查询连接到 MySQL 服务器实例,并使用以下查询:
SELECT *
FROM openrowset('SQLNCLI11','server=<>,33333;uid=root;pwd=<>','SELECT * FROM mov.users')
我收到以下错误:
链接服务器“(null)”的 OLE DB 提供程序“SQLNCLI11”返回消息“由于预登录失败,客户端无法建立连接”。 链接服务器“(null)”的 OLE DB 提供程序“SQLNCLI11”返回消息“TDS 流中的协议错误”。 消息 7303,第 16 层,状态 1,第 1 行 无法为链接服务器“(null)”初始化 OLE DB 提供程序“SQLNCLI11”的数据源对象。
我已经尝试在我的 MSSQL 实例上使用 SSL,但什么也没做。我已经为 sp_configure 运行了执行命令以启用“临时分布式查询”,但什么也没有。我试图创建一个链接服务器,但它似乎不是 linux 上的 mssql 兼容功能。
如何在 linux 上运行的 MSSQL 与 MySQL 服务器之间建立直接连接?
【问题讨论】:
-
您是否分别测试了与每个数据库的连接?
-
是的,我可以使用 Workbench 连接到 MySQL,使用 Management Studio 连接到 MSSQL
-
您可以使用 Management Studio 连接到 MySQL 吗?这将测试您的 ODBC 连接是否设置正确。以下文章可能会有所帮助:gunnarpeipman.com/mssql-mysql-linked-server
-
Management studio 连接到在 linux 上运行的 mssql 服务器实例,不允许添加链接服务器。另一种选择是连接 odbc 驱动程序。但由于“预登录失败”,它无法建立连接。
标签: mysql sql-server linux adhoc