SQL Server 2016 завершается с ошибкой (ошибка № 7303) при соединении с MySQL, но Access 2016 успешно работает с тем же системным DSN

Я хожу по кругу на полях, пытаясь настроить связанный сервер (от SQL Server 2016 до MySQL).

Вот основная процедура, которую я использовал: Создайте связанный сервер с MySQL из SQL Server. После нажатия OK, чтобы создать новый связанный сервер, я получил следующий спазм 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), настроенные через системные DSN в 32- и 64-разрядных версиях ODBC Data Source Administrator.

Теперь я подозреваю, что с MS SQL Server и / или его провайдером OLE-DB (MSDASQL) что-то пошло не так, потому что:

  1. Все тесты системных уведомлений о доставке в Администраторе источника данных ODBC выполнены успешно.

  2. Crippled Access 2016 может связать (через вышеупомянутую систему Unicode System DSN) с MySQL просто отлично, с минимальными усилиями, перечисляя все базы данных и таблицы.

В чем заключается магия, необходимая SQL Server 2016, чтобы диалоговое окно связанного сервера не приводило к указанной ошибке?

1 ответ

Решение

Две вещи --

  1. Название продукта должно быть MSDASQL,

  2. Оставьте строку поставщика и каталог пустыми (как правило, об этом позаботится ваше определение DSN).

Это должно сделать это...

Другие вопросы по тегам