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

Откуда: Москва
Сообщений: 496
Всем здравствуйте!
Нужно подрубиться линкед сервером из MS SQL к MySQL через ODBC драйвер. Создаю источник данных (System DSN) с именем KGIC, создается нормально, тест коннекшна проходит. Дальше создаю linked server с такими опциями:
- название: KGIC_TEST
- Provider: Microsoft OLE DB Provider for ODBC Drivers
- Product name: MySQL
- DataSource: KGIC
- Prodiver string: ODBC:DSN=KGIC;
- Catalog: <имя БД на MySQL>

Сервер сохраняется, но селекты из него делать не могу, вылезает ошибка:
select * from openquery([KGIC_TEST], 'select * from pays')

Msg 7399, Level 16, State 1, Line 4
The OLE DB provider "MSDASQL" for linked server "KGIC_TEST" reported an error. The provider did not give any information about the error.
Msg 7350, Level 16, State 2, Line 4
Cannot get the column information from OLE DB provider "MSDASQL" for linked server "KGIC_TEST".


Самая странность в том, что: у меня 2 сервака, тестовый локал 2014й и продакшн 2008й. Так вот, с локала на тот же MySQL таким же макаром коннектится и запросы выполняет на ура. А с прода - ошибка, хотя MySQL ODBC драйвер и там и тут стоит одинаковый, 3.51.28.0.
На проде попробовала поставить галки в MSDASQL-провайдере (Linked Servers --> Providers --> MSDASQL --> Properties): отметила галки Nested queries, Level zero only, Allow inprocess, Supports 'Like' operator - не помогает. На локале работает и без этих галок.
Куда копать? Мне кажется это какие-то опции уровня сервера/файервола/чего-то еще на MSSQL.
Заранее спасибо :)
20 мар 17, 16:27    [20314674]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
pima,

попробуйте вместо
select * from pays

написать хоть одно поле и сделайте с ним выборку.

у вас версии разные , в них по разному определяются чужие типы данных, так что не удивительно , что на одной работает , а на другой нет
20 мар 17, 18:32    [20315187]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
pima
Member

Откуда: Москва
Сообщений: 496
Slava_Nik,
спасибо, но не помогло :((
21 мар 17, 08:29    [20316093]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 4183
pima
Slava_Nik,
спасибо, но не помогло :((


"Нужно подрубиться линкед сервером " а подрубание с каким именем юзера и паролем производится?
21 мар 17, 11:17    [20316689]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
pima
Member

Откуда: Москва
Сообщений: 496
Ролг Хупин,
а может еще ключи от квартиры где деньги лежат? :)
21 мар 17, 12:46    [20317236]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 4183
pima
Ролг Хупин,
а может еще ключи от квартиры где деньги лежат? :)


Спасибо, они мне и на*** не нужны в данном случае, это было мое примечание, возможно стоит обратить внимание
21 мар 17, 13:09    [20317341]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 4183
А если сюда подрубить имя базы и схемы?

select * from openquery([KGIC_TEST], 'select * from ключи.отквартиры.pays')
21 мар 17, 13:13    [20317364]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
pima
Member

Откуда: Москва
Сообщений: 496
Ролг Хупин,
логин-пароль одинаковые и правильные что на локальном серваке, что на проде. Проверяла. Но на локальном почему-то работает, а на проде нет :((
21 мар 17, 13:14    [20317369]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
Wlr-l
Member

Откуда:
Сообщений: 602
pima,

Попробуйте в свойствах линкованного сервера установить ключ RPC (может быть и RPC Out) и сбросить ключ Lazy Shema Validation.
21 мар 17, 13:21    [20317399]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 4183
pima
Ролг Хупин,
логин-пароль одинаковые и правильные что на локальном серваке, что на проде. Проверяла. Но на локальном почему-то работает, а на проде нет :((


кстати
http://stackoverflow.com/questions/16687999/select-from-linked-mysql-server
21 мар 17, 13:25    [20317415]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
o-o
Guest
ODBC :: MSSQL / ODBC Error Cannot get column information
link
this seems to have been fixed by turning on the advanced flag 'Don't Cache Result (forward only cursors)'
21 мар 17, 13:30    [20317442]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
pima
Member

Откуда: Москва
Сообщений: 496
Ролг Хупин,
1) добавление имени базы и схемы не помогает, так уже пробовала с самого начала.
2)
Wlr-l
Попробуйте в свойствах линкованного сервера установить ключ RPC (может быть и RPC Out) и сбросить ключ Lazy Shema Validation.

Тож не помогло :(( RPC и RPC Out поставила, а Lazy Schema Validation и так стояло false. Все равно не взлетело :(

3)
o-o
ODBC :: MSSQL / ODBC Error Cannot get column information
link
this seems to have been fixed by turning on the advanced flag 'Don't Cache Result (forward only cursors)'

- это тема, вкуриваю. Это на стороне MySQL надо чекать?
21 мар 17, 14:17    [20317758]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
o-o
Guest
odbc driver options
21 мар 17, 14:31    [20317816]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
Wlr-l
Member

Откуда:
Сообщений: 602
pima,

Создание сервера - это sp_addlinkedserver.

Еще есть sp_addlinkedsrvlogin. Т.е. правильно ли заданы права?

Например для IB у меня такая строка:

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'IB', @useself=N'False', @locallogin=NULL, @rmtuser=N'SYSDBA', @rmtpassword='masterkey';
21 мар 17, 15:15    [20318019]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
Wlr-l
Member

Откуда:
Сообщений: 602
Wlr-l,

Графический интерфейс: на вкладке "Security" выбрать "Be made using this securite context" и заполнить поля "Remote login" и "With password".
21 мар 17, 15:20    [20318047]     Ответить | Цитировать Сообщить модератору
 Re: Подключение из MS SQL 2008 к MySQL 3.51 по Linked Server  [new]
pima
Member

Откуда: Москва
Сообщений: 496
Wlr-l
Графический интерфейс: на вкладке "Security" выбрать "Be made using this securite context" и заполнить поля "Remote login" и "With password".


Да, это все заполнено корректно.
Ёшкин кот, с помощью админов нашли в чем проблема. Ну и шайтан-машина блин. Дело даже не в версии, а в ревизии драйвера ODBC для MySQL. На той стороне древняя версия MySQL 4.1 (я в первом посте указала не ту, сорри, 3.51 - это версия дров ODBC). Драйвер 3.51.21.00 не шел нигде (ни на 2008м, ни на 2014м МС СКЛ), драйвер 3.51.28.00 взлетел на 2014м, но не работал на 2008, а 3.51.27.00 пошел-таки на боевом 2008м. Ааааааа (( Это жесть :(( Убили такую кучу времени... месяца 2 копались. Все что сейчас сделали - переставили на боевом ODBC драйвер для MySQL с версии 3.51.28.00 на 3.51.27.00. Как нашли в инете, все что было сделано после покупки MySQL-а ораклом (т.е. начиная с ревизии 28) - не заработает. Поэтому решили проверить и поставить ревизией помладше. Взлетело.
У меня нет слов, одни эмоции и те не очень цензурные. Всем спасибо!
21 мар 17, 16:31    [20318387]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить