При получении изображения со связанными серверами SQL Server из PostgreSQL я получаю следующую ошибку: Поставщик OLE DB «MSDASQL» для связанного сервера «bd_acceso_ruisegip» вернул данные, которые не соответствуют ожидаемой длине данных для столбца «[MSDASQL]». fot_image '. Ожидаемая длина данных (максимум) составляет 255, а возвращаемые данные — 38471.
Общайтесь с серверами, связанными с image sql server, из PostgreSQL
Ответы (2)
Не знаю, имели ли вы дело со столбцом bytea, но у меня была такая же проблема. Ответ нашел в настройке postrgres ODBC system dsn. На странице Options/Datasource 2 есть опция для bytea как LO. Нажал на это, и теперь он работает как чемпион.
Я обнаружил аналогичную проблему при репликации некоторых данных форума из 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')
Затем щелкните правой кнопкой мыши локальную таблицу Post. Выберите «Сценарий таблицы как удаление и создание». В сценарии создания замените размер проблемного столбца на VARCHAR (MAX).
Далее создайте таблицу. Затем используйте:
Insert Post select * from OpenQuery(PostgreSQL_Test1, 'select * From public.post')
Надеюсь, это поможет. Ваш пробег может отличаться.