Соединения с 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
Во время поиска я нашел много других ссылок, которые разделяют это мнение: