1

我在麦田怪圈中四处走动,试图建立一个链接服务器(从 SQL Server 2016 到 MySQL)。

这是我使用的基本过程: 从 SQL Server 创建到 MySQL 的链接服务器。单击确定创建新的链接服务器后,我收到以下 SSMS 2016 痉挛,错误 #7303:

The linked server has been created but failed a connection test. Do you want to keep the linked server?

Additional information:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "MYSQL".
OLE DB provider "MSDASQL" for linked server "MYSQL" returned message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified". (Microsoft SQL Server, Error: 7303)

错误 7303:

我尝试了包含提供者字符串和目录的变体(同样的错误):

链接服务器对话框:

我已经尝试了最新的 MySQL ODBC ANSI/Unicode 驱动程序 (5.03.07.00),通过 32 位和 64 位版本的 ODBC 数据源管理器中的系统 DSN 进行设置。

现在,我怀疑 MS SQL Server 和/或其 OLE-DB 提供程序 (MSDASQL) 发生了一些奇怪的事情,因为:

  1. ODBC 数据源管理器中系统 DSN 的所有测试均成功。

  2. Crippled Access 2016 能够(通过前面提到的 Unicode 系统 DSN)很好地链接到 MySQL,只需最少的努力,列出所有数据库和表。

SQL Server 2016 需要什么魔法才能使链接服务器对话框不导致上述错误?

4

1 回答 1

0

两件事情 -

  1. 产品名称应为MSDASQL.

  2. 将提供程序字符串目录留空(这些通常由您的 DSN 定义处理)。

应该这样做...

于 2016-12-28T22:51:15.980 回答