Код ошибки служб SSIS DTS_E_OLEDB_NOPROVIDER_ERROR. Запрашиваемый поставщик OLE DB OraOLEDB.Oracle.1 не зарегистрирован - PullRequest
2 голосов
/ 05 января 2012

У меня есть два сервера:

Сервер A - здесь мои пакеты служб SSIS находятся в файловой директории

Сервер B - это место, где живут моя база данных SQL Server 2008 и задание агента SQL Server.

На сервере B я создал задание агента SQL Server, состоящее из одного шага: он вызывает пакет служб SSIS на сервере A, который выполняет извлечение данных из базы данных Oracle в базу данных SQL Server на сервере B. Подробные сведения о шаге задания ниже. ...

Свойства шага задания:

Тип = Пакет служб интеграции с SQL Server

Вкладка «Общие»:

Источник пакета = Файловая система

Пакет = полный путь к пакету

В свойствах шага задания не было выполнено никаких других настроек

Пакет служб SSIS извлекает данные из базы данных Oracle и загружает их в SQL Server с использованием источника OLE DB с менеджером соединений, который использует следующий поставщик: собственный OLE DB \ поставщик Oracle для OLE DB

При выполнении пакета служб SSIS вручную с сервера A с использованием SQL Server Business Intelligence Development Studio пакет завершается без ошибок.

Однако при выполнении того же пакета с сервера B с помощью задания агента SQL Server возникает следующая ошибка:

Ошибка: 2012-01-05 08: 27: 04.45 Код: 0xC0209302 Источник: SSIS_PDS_Template Диспетчер соединений "My_OLE" Описание: SSIS Код ошибки DTS_E_OLEDB_NOPROVIDER_ERROR. Запрашиваемая OLE DB Провайдер OraOLEDB.Oracle.1 не зарегистрирован. Код ошибки: 0x00000000. Доступна запись OLE DB. Источник: «Служба Microsoft OLE DB» Компоненты "Hresult: 0x80040154 Описание:" Класс не зарегистрирован ". Ошибка завершения: 2012-01-05 08: 27: 04.45 Код: 0xC020801C
Источник: CIR_OLE OLE DB Источник [1] ​​Описание: Код ошибки служб SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.

Кроме того, если я отключу извлечение базы данных Oracle в пакете служб SSIS и запущу задание агента SQL Server с сервера B, оно будет завершено с нулевыми ошибками. Как решить?

1 Ответ

2 голосов
/ 05 января 2012

Вам необходимо установить драйвер Oracle OLE DB на сервере B, который запускает пакет с сервера A в памяти сервера B. Вы действительно должны взглянуть на планирование и запуск их на сервере А, если это выделенный блок ETL.

...