Перенос BLOBS на MSSQL -> MySQL Linked Server
Работаю над созданием новой базы данных MySQL для веб-сайта, и я пытаюсь выяснить, как передавать длинные строки.
У меня довольно много таблиц MSSQL с Varchars в диапазоне от 500 до 2000.
Очевидно, что в MySQL они должны храниться в текстовом поле, которое является BLOB.
Если я запрашиваю таблицу в MySQL с полем Text, кажется, что данные возвращаются очень хорошо. Но если я пытаюсь сделать вставку в таблицу с полем Текст, он возвращает сообщение об ошибке [OLE/DB provider returned message: Query-based insertion or updating of BLOB values is not supported.]
Есть ли способ сделать эту работу, или мне придется сделать это с помощью передачи плоских файлов?
2 ответа
Итак, после долгого осмотра я заметил, что есть две версии ODBC Connector, 3.51.28 и 5.1.8 ( http://dev.mysql.com/downloads/connector/odbc/).
Не уверен, почему они поддерживают две версии, но что угодно. Установил его, сбросил в DNS и смог вставить более 1000 символов в.
Теперь, надеюсь, больше нет никаких ошибок с этим новым.
Кстати, для будущих поколений, когда я настраивал его в DNS, я не отмечал ни одного из полей в параметрах Details. Я не знаю, есть ли какие-либо, которые нужно проверить, но я думаю, я выясню это, когда что-то не работает.
Эта проблема произошла несколько дней назад на моем связанном сервере MySQL. ODBC версия драйвера 5.1.
Соединение MySQL выполняется с использованием системного DSN, а не строки подключения в свойствах связанного сервера. Решение: в параметрах подключения DSN перейдите на вкладку "Курсоры / результаты" и снимите флажок "принудительное использование курсоров только вперед".
Решение, основанное на этом: http://support.microsoft.com/default.aspx?scid=kb;en-us;175245