Создайте связанный сервер в SSMS с базой данных MySQL на удаленном сервере - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь создать связанный сервер с базой данных MySQL, но получаю сообщение об ошибке 7303: имя источника данных не найдено и драйвер по умолчанию не указан.

  • База данных находится на сервер, к которому я должен удаленно подключиться, используя логин и пароль
    • Я использую Remote Desktop Connection для подключения к серверу
  • Я создал как 64-битный, так и 32-битный системные DSN, которые успешно подключаются при тестировании

Вот строки, которые я использую:

- для 64 бит:

EXE C master.dbo.sp_addlinkedserver @server = N'ECWIMA64 ',@srvproduct=N' MySQL ',@provider=N' MSDA SQL ',@datasrc=N' ECWIMA ',@provstr=N' Драйвер = {MySQL ODB C 8.0 Драйвер ANSI}; DATABASE = mobiledoc; OPTION = 134217728; PWD = пароль; UID = SQLUser; SERVER = IP-адрес; Порт = порт 'EXE C master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ECWIMA64', @locallogin = NULL, @useself = N'False ', @rmtuser = N' * \ Administrator ', @rmtpassword = N'password'

- для 32-разрядных:

EXE C master.dbo.sp_addlinkedserver @server = N'ECWIMA32 ',@srvproduct=N' MySQL ',@provider=N' MSDA SQL ',@datasrc=N' ECWIMA32 ',@provstr=N' Драйвер = {MySQL ODB C 5.1 Драйвер}; DATABASE = mobiledoc; OPTION = 134217728; PWD = пароль; UID = SQLUser; SERVER = IP-адрес; Порт = = порт 'EXE C master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ECWIMA32', @locallogin = NULL, @useself = N'False ', @rmtuser = N' * \ Administrator ', @rmtpassword = N'password'

Кроме того, я не ЭТО, поэтому, пожалуйста, сделайте это для меня.

Вот следующая попытка:

EXEC master.dbo.sp_addlinkedserver
@server = N'ECWIMA64' 
,@srvproduct=N'MySQL'
,@provider=N'MSDASQL'
,@datasrc=N'ECWIMA'
,@catalog=N'mobiledoc'
,@provstr=N'Driver={MySQL ODBC 8.0 ANSI Driver};DATABASE=mobiledoc;OPTION=134217728;PWD=password;UID=SQLUser;SERVER=ipaddress;Port=4928;ODBC:DSN=ECWIMA'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ECWIMA64', @locallogin = NULL , @useself = N'False', @rmtuser = N'*\Administrator', @rmtpassword = N'password'

1 Ответ

0 голосов
/ 10 января 2020

Вы создали источник данных ODB C? Сначала необходимо создать источник данных и указать имя источника данных:

@provstr=N'ODBC:DSN=YourDataSourceName'

, например:

EXEC master.dbo.sp_addlinkedserver @server = N'ECWIMA64' ,@srvproduct=N'MySQL' ,@provider=N'MSDASQL' ,@datasrc=N'ECWIMA' ,@provstr=N'ODBC:DSN=ECWIMA',@catalog=N'MySqlSchemaName'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ECWIMA64', @locallogin = NULL , @useself = N'False', @rmtuser = N'MysqlAccount', @rmtpassword = N'password'

. Вам необходимо указать имя mysql db и mysql. учетная запись для связанного сервера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...