Проблемы с соединением Oracle из SSIS - PullRequest
0 голосов
/ 19 июня 2019

Получение ошибки подключения к источнику oledb из пакета служб SSIS для импорта данных из oracle на сервер sql.После развертывания на сервере происходит сбой, но он работает нормально при запуске из BIDS с локального компьютера.Пакет разработан в 2008 году.

Требуется ли какая-либо установка на сервере для Oracle?

Отображается следующая ошибка

Источник: Диспетчер соединений Описание:Код ошибки служб SSIS DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR.Запрашиваемый поставщик OLE DB MSDAORA.1 не зарегистрирован - возможно, 64-разрядный поставщик недоступен.Код ошибки: 0x00000000.Доступна запись OLE DB.Источник: «Компоненты службы Microsoft OLE DB». Результат: 0x80040154 Описание: «Класс не зарегистрирован».Код: 0xC020801C Источник OLE DB [1] Описание: Код ошибки служб SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.Ошибка вызова метода AcquireConnection для диспетчера соединений с кодом ошибки 0xC0209303.Перед этим могут быть сообщения об ошибках с дополнительной информацией о том, почему произошел сбой вызова метода AcquireConnection.Код: 0xC0047017 Источник: SSIS.Pipeline Описание: компонент «Источник OLE DB» (1) не прошел проверку и вернул код ошибки 0xC020801C.Ошибка завершения: 2019-06-18 22: 54: 18.99 Код: 0xC004700C Источник: конвейер Описание: один или несколько компонентов не прошли проверку.

Когда я проверяю пакет, он дает ORA-01017: неверное имя пользователя / пароль;но те же учетные данные используются при запуске с локальной машины.

Я запускаю его в 32-разрядной версии, но ошибка все еще сохраняется. Также пробовал с ProtectionLevel как чувствительный к Dontsave, но не повезло

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Да, вам нужно установить клиент Oracle.Достаточно простого мгновенного клиента, так как вы используете устаревшего MSDAORA поставщика OLE DB от Microsoft.

Если вы хотите использовать поставщик Oracle для OLE DB (OraOLEDB.Oracle), тогдаВы должны установить провайдера.Он не включен в Instant Client.

Убедитесь, что архитектура (то есть 32-разрядная или 64-разрядная) совпадает с вашей прикладной программой.Ваш вопрос не ясен в этом.Вы пишете «Я запускаю его в 32-разрядной версии», но появляется сообщение об ошибке «Запрошенный поставщик OLE DB MSDAORA.1 не зарегистрирован - возможно, 64-разрядный поставщик недоступен».указывает на 64-разрядность.

Обратите внимание, что старый MSDAORA поставщик от Microsoft существует только для 32-разрядных.Если вам нужна 64-битная версия, вы должны взять провайдера из Oracle.

32-битные драйверы можно загрузить из 32-битных компонентов доступа к данным Oracle , 64-битные дискидоступны в 64-битных компонентах доступа к данным Oracle

0 голосов
/ 19 июня 2019

Вам необходимо установить драйверы Oracle на рабочий компьютер.Если я помню один из способов сделать это, это установить клиентское программное обеспечение Oracle x64 для Windows.Это огромно, но, похоже, работает.Это сработало для меня.

В соответствии с этим ответом на stackoverflow вы можете вручную установить драйверы, но это много шагов:

https://serverfault.com/questions/175257/how-to-install-oracle-ole-drivers-for-use-in-sql-server-2008-r2-x64

...