Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Linked to MySQL, вопрос по подключению  [new]
-SWAN-
Member

Откуда: Оделся, обулся - и на работу вернулся!)
Сообщений: 207
Добрый день, коллеги! Посоветуйте как подключиться к MySQL из MSSql - сейчас при проверке подключения выходит ошибка (в приложенном файле).
запускал создание подключения так:
use master
go
exec sp_addlinkedserver    'mySQLserverTest', '', 'MSDASQL', null, null, 
  'DRIVER={MySQL ODBC 3.51 Driver};Server=ЧЧЧ:3306;Database=xxx;User=yyy;Password=ppp


К сообщению приложен файл. Размер - 67Kb
4 мар 19, 10:48    [21824122]     Ответить | Цитировать Сообщить модератору
 Re: Linked to MySQL, вопрос по подключению  [new]
tunknown
Member

Откуда:
Сообщений: 748
  • Правильно ли установился драйвер на mssql сервере?
  • Допустимо ли использовать более новую версию драйвера? У меня работает такое подключение:
    N'DRIVER={MySQL ODBC 8.0 Unicode Driver};SERVER=192.168.*.*;Port=3306;USER=***;PASSWORD=***;DATABASE=***;'
    

  • Сервер называется русскими буквами ЧЧЧ? Если это линукс, то не уверен, что utf-16 в utf-8 верно преобразуется. Не лучше ли имя заменить на IP адрес?
  • Могу предложить заполнить и второй параметр sp_addlinkedserver какой-нибудь непустой строкой.


    Ошибка 7303 имеет достаточно широкий смысл, чтобы точно понять проблему.
  • 4 мар 19, 15:26    [21824527]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    tunknown, попробовал с новым драйвером:
    use master
    go
    exec sp_addlinkedserver    'mySQLNEWTEST', '', 'MSDASQL', null, null, 
      'DRIVER={MySQL ODBC 8.0 Unicode Driver};Server=xxx.xx.211.76:3306;Database=watchtest;User=user;Password=pass'
    


    ошибка увы осталась(

    К сообщению приложен файл. Размер - 55Kb
    4 мар 19, 17:50    [21824700]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    felix_ff
    Member

    Откуда: Moscow
    Сообщений: 1172
    -SWAN-,

    покажите результат:
    exec sp_enum_oledb_providers
    


    и не возвращает ли ошибки это:
    exec xp_regenumkeys 'HKEY_LOCAL_MACHINE', 'SOFTWARE\ODBC\ODBC.INI\mySQLserverTest'
    
    4 мар 19, 18:09    [21824722]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    felix_ff, спасибо за внимание! результат по первой процедуре:

    SQLOLEDB	{0C7FF16C-38E3-11d0-97AB-00C04FC2AD98}	Microsoft OLE DB Provider for SQL Server
    MSOLAP	{308FF259-8671-4df4-B66C-9851BFACF446}	Microsoft OLE DB Provider for Analysis Services 11.0
    SQLNCLI11	{397C2819-8272-4532-AD3A-FB5E43BEAA39}	SQL Server Native Client 11.0
    Microsoft.ACE.OLEDB.12.0	{3BE786A0-0366-4F5C-9434-25CF162E475E}	Microsoft Office 12.0 Access Database Engine OLE DB Provider
    Microsoft.ACE.OLEDB.15.0	{3BE786A1-0366-4F5C-9434-25CF162E475E}	Microsoft Office 15.0 Access Database Engine OLE DB Provider
    ADsDSOObject	{549365d0-ec26-11cf-8310-00aa00b505db}	OLE DB Provider for Microsoft Directory Services
    MSDASQL	{c8b522cb-5cf3-11ce-ade5-00aa0044773d}	Microsoft OLE DB Provider for ODBC Drivers
    MSDAOSP	{dfc8bdc0-e378-11d0-9b30-0080c7e9fe95}	Microsoft OLE DB Simple Provider
    



    а по второму вопросу вот такая ошибка
    Сообщение 22001, уровень 16, состояние 1, строка 0
    RegOpenKeyEx() returned error 2, 'Не удается найти указанный файл.'
    

    где этот файл должен лежать?
    6 мар 19, 13:11    [21826182]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    felix_ff
    Member

    Откуда: Moscow
    Сообщений: 1172
    -SWAN-,

    вторая процедура - это чтение ветки реестра, походу с правами что то.

    Просто запустите тогда редактор реестра на сервере и посмотрите существует ли по пути \HKLM\SOFTWARE\ODBC\ODBC.INI\<имя вашего DSN>

    в данном случае должен быть \HKLM\SOFTWARE\ODBC\ODBC.INI\mySQLserverTest
    6 мар 19, 13:16    [21826188]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    felix_ff, проверил, в реестре нет такой строчки.
    На моем на локальном ПК есть строчка, но с другим системным DSN MySQL_testConn - я его у себя заводил, и тест проверку прошел.
    Именно этот DSN я и указываю при создании линкеда в строке подключения к MySQL

    К сообщению приложен файл. Размер - 89Kb
    6 мар 19, 13:51    [21826269]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    ошибка та же при создании линк

    К сообщению приложен файл. Размер - 63Kb
    6 мар 19, 14:14    [21826309]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    felix_ff
    Member

    Откуда: Moscow
    Сообщений: 1172
    -SWAN-,

    DSN должен быть не на вашем локальном компе, а на сервере базы данных. и драйвер oledb для mysql должен быть установлен там же.
    6 мар 19, 14:31    [21826338]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    felix_ff, Спасибо! Драйвер для MySQL установил на сервере.
    Но теперь при проверке соединения выходит вот такая ошибка (наверно что-то с правами? Как побороть?):

    К сообщению приложен файл. Размер - 68Kb
    7 мар 19, 12:03    [21827159]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    court
    Member

    Откуда:
    Сообщений: 1956
    -SWAN-
    Но теперь при проверке соединения выходит вот такая ошибка (наверно что-то с правами? Как побороть?):
    пришло время :) заглянуть на вкладку "Безопастность" (21826269) и установить логин/юзер
    7 мар 19, 12:07    [21827167]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    court,
    но я создал линк на MySQL программно:
    use master
    go
    exec sp_addlinkedserver    'TESTMySQLNEW', '', 'MSDASQL', null, null, 
      'DRIVER={MySQL ODBC 3.51 Driver};Server=xxx.xx.211.76;Database=watchtest;User=user;Password=pass'
    


    системный DNS не создавал на сервере.
    Как мне добавить логин\пароль?
    7 мар 19, 12:24    [21827177]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    felix_ff
    Member

    Откуда: Moscow
    Сообщений: 1172
    -SWAN-,


    если вы используете провайдер MSDASQL, то это трансляция в драйвер ODBC. у вас там должен быть настроен DSN который использует драйвер MySQL с настроенной строкой подключения.

    вам в линке не нужно указывать 'DRIVER={MySQL.... ' и прочую информацию, все сделает ODBС.
    вам по сути нужно указать только правильный DSN, он должен быть заранее создан.
    7 мар 19, 12:34    [21827191]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    felix_ff
    Member

    Откуда: Moscow
    Сообщений: 1172
    -SWAN-,

    посмотрите ссылку, там по-шагово расписано:
    https://www.mssqltips.com/sqlservertip/4577/create-a-linked-server-to-mysql-from-sql-server/
    7 мар 19, 12:36    [21827195]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    felix_ff, всё вроде получилось! Спасибо!
    Но как мне теперь обратиться к таблицам на MySQL? Подскажите пожалуйста!

    Пытаюсь так:
    SELECT a.*  
    FROM OPENROWSET('MSDASQL', 'Server=[TESTMySQLNEW];Trusted_Connection=yes;',  
         'SELECT IDPart FROM NewTestLebed') AS a;
    


    но получаю ошибку:
    OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию".
    Сообщение 7303, уровень 16, состояние 1, строка 1
    Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".
    


    К сообщению приложен файл. Размер - 18Kb
    7 мар 19, 12:48    [21827218]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    court
    Member

    Откуда:
    Сообщений: 1956
    -SWAN-,

    OPENQUERY ( linked_server ,'query' )

    EXEC () AT
    7 мар 19, 12:53    [21827224]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    felix_ff
    Member

    Откуда: Moscow
    Сообщений: 1172
    -SWAN-,

    select * from [LinkedServerName].[database].[schemaname].[NewTestLebed]
    


    LinkedServerName - заменить на имя вашего линкованного сервера который создали
    database - на имя удаленной базы
    schemaname - На имя схемы в которой находится таблица
    7 мар 19, 12:55    [21827229]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    court, спасибо большое! получилось!
    7 мар 19, 12:58    [21827235]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    felix_ff
    Member

    Откуда: Moscow
    Сообщений: 1172
    а хотя да четерех-звенка может не взлететь если линк mysql тогда как посоветовал court
    7 мар 19, 12:59    [21827237]     Ответить | Цитировать Сообщить модератору
     Re: Linked to MySQL, вопрос по подключению  [new]
    -SWAN-
    Member

    Откуда: Оделся, обулся - и на работу вернулся!)
    Сообщений: 207
    felix_ff, и ВАМ большое спасибо за помощь!
    7 мар 19, 13:01    [21827242]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить