Проблема с SELECT * в MySQL через ODBC из Microsoft SQL Server

У меня есть сервер MySQL в качестве связанного сервера в Microsoft SQL Server 2008. Для ссылки я использую MySQL ODBC Connector версии 5.1.8. При выполнении запросов с использованием OPENQUERY (единственный способ, который я нашел для выполнения запросов), возникают проблемы. Простые запросы, такие как

SELECT * FROM OPENQUERY(MYSQL, 'SHOW TABLES')

, работают нормально. Выбор отдельных столбцов, например,

SELECT * FROM OPENQUERY(MYSQL, 'SELECT nr FROM letter')

также работает нормально, но SELECT * синтаксис не работает. Запрос:

SELECT * FROM OPENQUERY(MYSQL, 'SELECT * FROM mytable')

вызывает ошибку:

Msg 7347, Level 16, State 1, Line 6 Для ссылки я использую MySQL ODBC Connector версии 5.1.8. При выполнении запросов с использованием OPENQUERY (единственный способ, который я нашел…

У меня есть сервер MySQL в качестве связанного сервера в Microsoft SQL Server 2008. Для ссылки я использую MySQL ODBC Connector версии 5.1.8. При выполнении запросов с использованием OPENQUERY (единственный способ, который я нашел для выполнения запросов), возникают проблемы. Простые запросы, такие как

SELECT * FROM OPENQUERY(MYSQL, 'SHOW TABLES')

, работают нормально. Выбор отдельных столбцов, например,

SELECT * FROM OPENQUERY(MYSQL, 'SELECT nr FROM letter')

также работает нормально, но SELECT * синтаксис не работает. Запрос:

SELECT * FROM OPENQUERY(MYSQL, 'SELECT * FROM mytable')

вызывает ошибку:

Msg 7347, Level 16, State 1, Line 6 Для ссылки я использую MySQL ODBC Connector версии 5.1.8. При выполнении запросов с использованием OPENQUERY (единственный способ, который я нашел…

У меня есть сервер MySQL в качестве связанного сервера в Microsoft SQL Server 2008. Для ссылки я использую MySQL ODBC Connector версии 5.1.8. При выполнении запросов с использованием OPENQUERY (единственный способ, который я нашел для выполнения запросов), возникают проблемы. Простые запросы, такие как

SELECT * FROM OPENQUERY(MYSQL, 'SHOW TABLES')

, работают нормально. Выбор отдельных столбцов, например,

SELECT * FROM OPENQUERY(MYSQL, 'SELECT nr FROM letter')

также работает нормально, но SELECT * синтаксис не работает. Запрос:

SELECT * FROM OPENQUERY(MYSQL, 'SELECT * FROM mytable')

вызывает ошибку:

Msg 7347, Level 16, State 1, Line 6 При выполнении запросов с использованием OPENQUERY (единственный найденный мной способ выполнения запросов) возникают проблемы. Простые запросы, такие как

SELECT * FROM OPENQUERY(MYSQL, 'SHOW TABLES')

, работают нормально. Выбор отдельных столбцов, например,

SELECT * FROM OPENQUERY(MYSQL, 'SELECT nr FROM letter')

также работает нормально, но синтаксис SELECT * не работает. Запрос:

SELECT * FROM OPENQUERY(MYSQL, 'SELECT * FROM mytable')

вызывает ошибку:

Сообщение 7347, уровень 16, состояние 1, строка 6. При выполнении запросов с использованием OPENQUERY (единственный найденный мной способ выполнения запросов) возникают проблемы. Простые запросы, такие как

SELECT * FROM OPENQUERY(MYSQL, 'SHOW TABLES')

, работают нормально. Выбор отдельных столбцов, например,

SELECT * FROM OPENQUERY(MYSQL, 'SELECT nr FROM letter')

также работает нормально, но синтаксис SELECT * не работает. Запрос:

SELECT * FROM OPENQUERY(MYSQL, 'SELECT * FROM mytable')

вызывает ошибку:

Сообщение 7347, уровень 16, состояние 1, строка 6. Поставщик OLE DB 'MSDASQL' для связанного сервер MYSQL вернул данные, которые не соответствует ожидаемой длине данных для столбец '[MSDASQL] .let_nr'. В (максимальная) ожидаемая длина данных 40, а длина возвращаемых данных равна 0.

Как заставить работать синтаксис SELECT *?

8
задан Gintautas Miliauskas 18 November 2010 в 14:46
поделиться