Команда OLE DB для Oracle - ошибка преобразования Unicode / Non-Unicode - PullRequest
1 голос
/ 19 марта 2019

Мой пакет отлично работает как с моего рабочего стола, так и с моего сервера ETL, когда я в него RDP. Однако при выполнении в качестве части задания я получаю следующую ошибку во всех моих строковых столбцах: «Ошибка: столбец« *** СОСТОЯНИЕ »не может преобразовать строковые типы данных в Юникоде и не в Юникоде».

Ошибка возникает в компоненте Команды OLE DB, который обновляет таблицу в базе данных Oracle. Ни один из моих столбцов ни на стороне SQL / SSIS, ни на стороне Oracle не является Unicode. Вот метаданные, которые непосредственно приводят в мой командный компонент OLD DB.

metadata

Я убедился, что внешние столбцы в рассматриваемом компоненте OLE DB Command точно соответствуют этим метаданным. Я также пытался явно преобразовать столбцы в Unicode перед вставкой, если они были Unicode (я знаю, что это не так) на стороне Oracle, но это приводит к серьезной ошибке (красный X) и тому же сообщению.

Вот схема Oracle: enter image description here

Команда:

enter image description here

Кто-нибудь имеет представление о том, как запустить его от агента?

1 Ответ

0 голосов
/ 20 марта 2019

На основании следующего случая поддержки оракула:

Следующая причина сообщения об ошибке:

Разработка пакета служб SSIS, в котором используется поставщик Oracle OLEDB в 32-разрядной операционной системе, а затем развертывание на 64-разрядной установке SQL Server


Возможные обходные пути

Обратите внимание, что я не тестировал эти обходные пути раньше.

(1) Попробуйте запустить пакет в 32-битном режиме:

Из Visual Studio

    GoTo Project properties >> Debugging >> Run64BitRuntime  = False

enter image description here

От агента SQL

Проверьте следующую ссылку:

(2) Установка поставщика Oracle x64 oledb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...