Получить вместе с сервером изображений связанных SQL Server из PostgreSQL

При получении изображения с привязанными серверами sql-сервера из PostgreSQL я получаю следующую ошибку: поставщик OLE DB 'MSDASQL' для связанного сервера 'bd_acceso_ruisegip' вернул данные, которые не соответствуют ожидаемой длине данных для столбца '[MSDASQL] . fot_imagen '. Ожидаемая длина данных (максимальная) составляет 255, а возвращаемых данных - 38471.

2 ответа

Я обнаружил аналогичную проблему при репликации некоторых данных форума из PostgreSQL в MSSQL, используя 64-битный драйвер PostgreSQL и связанный сервер (.

Когда я закодировал это так:

select * into Post from OpenQuery(PostgreSQL_Test1, 'select * From public.post')

... таблица MSSQL по умолчанию имеет размер столбца nvarchar(4000).

Мое исправление: во-первых, запустите его один раз с небольшим ограничением на количество скопированных строк:

select * into Post from OpenQuery(PostgreSQL_Test1, 'select * From public.post limit 10')

Затем щелкните правой кнопкой мыши по локальной таблице сообщений. Выберите "Таблица сценариев как перетаскивание и создание". В сценарии создания замените размер ошибочного столбца на VARCHAR(MAX).

Далее создайте таблицу. Тогда используйте:

Insert Post select * from OpenQuery(PostgreSQL_Test1, 'select * From public.post')

Надеюсь, это поможет. Ваш пробег может отличаться.

Не знаю, имели ли вы дело с колонкой bytea, но у меня была такая же проблема. Нашел ответ в настройке системы postrgres ODBC dsn. Под страницей Options/Datasource-page 2 есть опция для bytea как LO. Кликнул, и теперь он работает как чемпион.

Другие вопросы по тегам