barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

воскресенье, 18 сентября 2011 г.

OLE DB provider "MSDASQL" for linked server returned message "[MySQL][ODBC 5.1 Driver][mysqld-5.5.8-log]Commands out of sync; you can't run this command now"

Проблема:
При попытке выполнить массовую вставку данных в таблицу MySQL в БД, подключенной к MS SQL Server 2008 по ODBC (например, конструкцией INSERT INTO ... SELECT ... ), возникает ошибка:
OLE DB provider "MSDASQL" for linked server "MY_LINKED_SERVER" returned message "[MySQL][ODBC 5.1 Driver][mysqld-5.5.8-log]Commands out of sync; you can't run this command now"
Решение:
Отключить опцию  "Don't cache results of forward-only cursors" в настройках System DSN ODBC-источника данных MySQL (или убрать "OPTION=1048576" из строки подключения к связанному серверу, если подключение производится не через System DSN).

Комментариев нет:

Отправить комментарий