Связывание MySQL с MS SQL Server с использованием драйверов OBDC (Ошибка 7303) - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь установить связь между базами данных MySQL и MSSQL с помощью драйверов ODBC. Причина в том, что наш сайт построен с использованием PHP и MySQL, и нам нужно управлять базой данных из SQL Server Manag. Студия.

Я уже связал MySQL с MS ACCESS, поэтому драйверы MySQL ODBC полностью работают.

Когда я пытаюсь связать их из MICROSOFT SQL STUDIO MANAGEMENT STUDIO> ОБЪЕКТЫ СЕРВЕРА> СВЯЗАННЫЕ СЕРВЕРЫ> НОВЫЙ СВЯЗАННЫЙ СЕРВЕР ...

При такой конфигурации:

First tab of configuration

Second tab of configuration

Third tab of configuration

Я получаю эту ошибку:

ERROR 7303


Я пробовал все эти версии драйверов MySQL OBDC:

  • ODBC 5.3 Unicode (32-разрядный) - это тот, который работает с MS ACCESS
  • ODBC 5.3 ANSI (32-разрядная версия)
  • ODBC 5.3 Unicode (64-бит)
  • ODBC 5.3 ANSI (64-разрядная версия)
  • ODBC 8.0 Unicode (64-разрядная версия)
  • ODBC 8.0 ANSI (64-разрядная версия)

ODBC System Configuration


Для нового связанного сервера:

  1. Я пытался написать это в «Строке провайдера»:

    • Драйвер = {MySQL ODBC 5.3 ANSI Driver};
      DATABASE = MyDB; OPTION = 134217728; PWD = myPASS; UID = MyUser; SERVER = MYSERVER

    • ODBC: DSN = KARALIGROUP32 :: Таблица = MYTABLE

Я также пытался написать myTABLE в "Каталоге".

  1. Для вкладки «Безопасность» я перепробовал все четыре варианта. (В последнем варианте я набрал логин для БД MySQL, а также для SQL Server)
  2. Для вкладки «Параметры сервера» я попытался выдать RPC и RPC (оба в TRUE или оба в FALSE)

Я также должен упомянуть, что база данных SQL Server не является моей собственной, поэтому у меня нет полных учетных данных. Это разрешения моего пользователя от SECURITY> LOGINS.

My login properties


Мой вывод: я думаю, что речь идет о конфигурации MS SQL SERVER MANAGEMENT STUDIO или о моих разрешениях как пользователя.

Спасибо за вашу помощь!


Обновление:

Я следовал совету TallTed , он пока не работал.

First update

На вкладках «Безопасность» и «Параметры сервера» я оставил их, как показано на предыдущих снимках экрана. Я также попробовал все соединения ODBC, показанные на скриншоте.

Есть еще идеи? Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Я решил это! Я использовал клиентский компьютер. Я установил драйвер на сервере, а затем последовал этот пост: https://www.mssqltips.com/sqlservertip/4570/access-mysql-data-from-sql-server-via-a-linked-server/

Спасибо и надеюсь, это кому-нибудь поможет!

0 голосов
/ 28 июня 2018

Прежде всего - ошибка, которую вы показали, не имеет ничего общего с вашими правами доступа к SQL Server.

Далее - важно помнить, что Microsoft SQL Server на самом деле не является клиентским приложением ODBC. Это OLE DB и клиентское приложение ADO.NET.

Также обратите внимание - для 64-битного SQL Server требуется 64-битный драйвер ODBC; 32-битный SQL Server требует 32-битного драйвера ODBC. Есть несколько дополнительных проблем с 64-битным SQL Server, как описано в этой статье на сайте моего работодателя .

Если ваши данные представляют собой строго 8-битные "узкие" кодовые страницы, то вам не нужен драйвер Unicode, и вам, вероятно, будет легче работать с драйвером ANSI. Тем не менее, учитывая, что у вас есть ODBC 5.3 Unicode (32-разрядный) , работающий с Access, я думаю, что вы будете иметь успех, используя это или ODBC 5.3 Unicode (64-разрядный) с SQL Server.

Сейчас - возможный шаг к успеху. На первом скриншоте Название продукта должно быть MSDASQL. Вам не потребуется строка поставщика , поскольку эта строка поступает из вашего ODBC DSN.

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