Соединения с Oracle прерваны в SSIS после удаления 32-битной версии клиента Oracle

При попытке проверить мои соединения я получаю следующее сообщение об ошибке:

Тестовое соединение не удалось из-за ошибки инициализации провайдера. Поставщик OraOLEDB.Oracle.1 не зарегистрирован на локальном компьютере.

Первоначально на моей рабочей машине была установлена ​​32-битная и 64-битная версия клиента Oracle 12. Я удалил 32-битную версию, потому что она вызывала некоторые конфликты с другим приложением, но теперь после удаления я больше не могу использовать свои соединения оракула в SSIS.

Я использую Visual Studio 2017 - я уверен, что установил 64-битную версию SSDT, но похоже, что они устанавливаются в папке программ 86x. Я все еще могу подключиться через TOAD, так что, похоже, проблема SSIS, не указывающая на 64-битную установку, я думаю. Можно ли вручную установить SSIS для указания на 64-битную версию, или мне нужно переустановить 32-битную версию?

TSN_Admin установлен в файл oracle12c_64 tsnname.ora. Я также пытался использовать regsvr32.exe на файл oraoledb12.dll, но я получаю сообщение об ошибке, даже после запуска командной строки от имени администратора:

Модуль "OraOLEDB.dll" был загружен при вызове DllRegisterServer с ошибкой с кодом ошибки 0x80070005.

Я могу переустановить 32-битную версию, но мне нужно подождать, пока ИТ-отдел моей компании сначала утвердит запрос. Могут пройти дни, прежде чем я получу ответ.

1 ответ

Решение

Обновление 1 - Visual Studio 64-bit

После поиска, похоже, 64-разрядная версия Visual Studio отсутствует:


Начальный ответ

Я не знаю, есть ли официальная документация для этого, но исходя из моего собственного опыта, вам нужно установить 32-битный клиент oracle на компьютере разработчика, потому что SQL Server Data Tools для Visual studio - это 32-битное приложение, и оно не будет работать будет работать с клиентом oracle 64-bit.

Но вы можете без проблем выполнить пакет.dtsx, если вы работаете с 64-битным клиентом oracle, вам нужно использовать соответствующий путь DtExec:

32-битный

C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DtExec.exe

64-битный

C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DtExec.exe

Во время поиска я нашел много других ссылок, которые разделяют это мнение:

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