Оракул 1 поставщика Oraoledb не зарегистрирован на локальном компьютере

Обновлено: 03.07.2024

Этот форум перенесен в раздел вопросов и ответов Майкрософт. Посетите Microsoft Q&A, чтобы публиковать новые вопросы.

Вопрос:

Вопрос

Я создаю пакет SSIS, для которого используется поставщик оракула для OLEDB.

Где как выдает ошибку при проверке соединения. Пожалуйста, найдите приведенную ниже ошибку..

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

SSIS находится на сервере 1, а Oracle — на сервере 2.

Нужно ли что-то делать с файлом TNSNAMES.ORA?? Если да, то на каком сервере??

Все ответы

Установили ли вы ODAC на сервере, на котором работает SSIS, и это в той же 32/64-разрядной архитектуре, что и SSIS?

Установлены ли клиентские инструменты Oracle? (ОДАК)

Вам потребуется установить правильную версию клиентских инструментов Oracle, а также сделать соответствующую запись в файле tnsnames.ora

Если вы хотите использовать это из SSDT, вам необходимо установить 32-разрядную версию драйвера, поскольку SSDT — это 32-разрядное приложение

Отметьте это как ответ, если оно решило вашу проблему
Проголосуйте за это как за полезное, если оно помогло решить вашу проблему
Visakh
------------ ----------------
Моя страница пользователя Wiki
Моя страница MSDN
Мой личный блог
Моя страница Facebook
< /p>

Я уже установил инструменты ODAC, полученные с веб-сайта oracle. Файл пришел с именем :ODTwithODAC1120320_32bit.

В tnsname.ora я отправил следующие данные.

В диспетчере соединений OLEDB я указал сервер или имя файла как ora_test. И вход в систему также неактивен.

Я сделал что-то не так?

Я установил инструменты ODAC, полученные с веб-сайта Oracle. Файл пришел с именем :ODTwithODAC1120320_32bit.

ODT с ODAC1120320_32bit.


Это 32-разрядный поставщик OleDB, который работает с SSDT как с 32-разрядным инструментом, но задание в 64-разрядной службе SSIS завершится ошибкой; вы должны обеспечить выполнение как 32-битное в свойствах пакета/задания.

Почему под хостом написано [Номер порта]?

Это должно быть имя хоста, а не номер порта

Отметьте это как ответ, если оно решило вашу проблему
Проголосуйте за это как за полезное, если оно помогло решить вашу проблему
Visakh
------------ ----------------
Моя страница пользователя Wiki
Моя страница MSDN
Мой личный блог
Моя страница Facebook
< /p>

извините, это не номер порта, а IP-адрес сервера Oracle. Да, я изменил его на Имя хоста..

Новая ошибка попала в мое ведро. Найдите ниже ошибку

TITLE: Диспетчер соединений
---------------------------------------------
Проверка соединения не удалась из-за ошибка при инициализации провайдера. ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения.

Хорошо, конечно, Олаф, спасибо!

Здравствуйте!

Я создаю пакет SSIS, для которого используется провайдер оракула для OLEDB.

При проверке соединения возникает ошибка. Найдите приведенную ниже ошибку.

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

SSIS находится на сервере1, а Oracle — на сервере2.

Нужно ли что-либо делать с TNSNAMES.ORA? файл?? Если да, то на каком сервере??

Спасибо

Бхану

Я предлагаю вам попробовать все, начиная с CMD, и двигаться дальше.

Попробуйте tnsping и убедитесь, что у вас есть подключение к базе данных oracle

Если у вас есть учетные данные Oracle, попробуйте подключить базу данных из оболочки CMD.

Используемые файлы параметров:

Используется адаптер TNSNAMES для разрешения псевдонима

Попытка связаться с (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (Host = sukgch0

Когда я нажимаю кнопку для подключения к базе данных, я сталкиваюсь с ошибкой, связанной с тем, что провайдер оракула не зарегистрирован на моем локальном компьютере.

Был бы очень признателен за четкий пошаговый план того, как я могу быстро это исправить.

Точное сообщение об ошибке:

Провайдер OraOLEDB.Oracle.1 не зарегистрирован на локальном компьютере

14 ответов 14

У меня была такая же проблема после установки 64-разрядного клиента Oracle на 64-разрядную версию Windows 7. Решение, которое сработало для меня:

  1. Откройте командную строку в режиме администратора
  2. cd \oracle\product\11.2.0\client_64\BIN
  3. c:\Windows\system32\regsvr32.exe OraOLEDB11.dll

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

Для тех, кто наткнулся на этот пост, но имеет 32-разрядный клиент Oracle на 64-разрядной машине Win 7, обязательно используйте путь: C:\Windows\SysWOW64\Regsvr32.exe (и, конечно же, обратитесь к соответствующему 32-разрядному каталогу BIN Oracle)

В командной строке cd — это команда для «изменения каталога». Не на всех машинах будет установлен Oracle в одном и том же месте, поэтому вам, возможно, придется изменить шаг 2, чтобы он соответствовал вашей папке установки.

У меня была такая же проблема с IIS.

Убедитесь, что для параметра "Включить 32-разрядные приложения" установлено значение true в расширенной настройке пула приложений.

Выполните следующий тест:

Откройте командную строку и введите: tnsping имя_экземпляра

где instance_name — это имя экземпляра, который вы хотите подключить (если это база данных XE, используйте «tnsping xe»

Если все в порядке, выполните действия, описанные в ответе Der Wolf. Если ответ не подтвердился, выполните действия, описанные в ответе Эннджон.

Это решило проблему для меня в обоих случаях.

  1. Щелкните правой кнопкой мыши на моем компьютере
  2. Нажмите на свойства
  3. Нажмите "Дополнительные параметры системы".
  4. Нажмите кнопку "Переменные среды".
  5. В разделе "Системная переменная" найдите переменную "PATH".
  6. Измените переменную PATH и добавьте к ней путь установки Oracle (с вашего локального компьютера), например ;C:\oracle\product\10.2.0\client_1\bin

Если у вас 64-разрядная версия Windows, попробуйте сначала установить 32-разрядный драйвер оракула, а затем 64-разрядный драйвер, это то, что я делаю, и это работает

У меня это сработало только после того, как я изменил "Целевая платформа" на "x64" (учитывая, что я использую 64-разрядную версию Oracle 12c)

Для этого я сделал следующее:

Щелкните правой кнопкой мыши на названии проекта (на панели Solution Explorer найдите, как правило, слева)

Нажал "Создать" (в новом открывшемся окне)

"Целевая платформа" изменена с "Любой процессор" на "x64"

Это решило проблему.

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

Выключить 32-разрядную версию

Потратив несколько часов на то, чтобы это исправить; а для некоторых, кто установил его неправильно, вам нужно удалить текущую версию и переустановить ее снова от имени администратора

Полный клиент «Администратор» не требуется. Вы также можете использовать «Пользовательский», где необходимо включить компонент «Поставщик Oracle для OLE DB»

просто проверьте, для какой архитектуры вы установили драйвер

откройте Powershell как в 32, так и в 64 (отдельный экземпляр) и запустите:

Если вы обнаружите, что работаете в 64-разрядном режиме, попробуйте переключиться на 32-разрядный (или наоборот). Вы можете следовать этому руководству, чтобы заставить ваше приложение работать как 64- или 32-битное (X64 и X86 соответственно). Вы должны убедиться, что целевая платформа в свойствах вашего проекта не установлена ​​на любой ЦП и что она установлена ​​явно.

введите здесь описание изображения

Переключение этого параметра с Any CPU на X86 устранило мою ошибку, и я смог подключиться к поставщику Oracle.

Моя команда время от времени сталкивалась с этой проблемой на случайных машинах, на которые мы пытались установить нашу платформу (мы используем драйверы oracle 12c версии 12.2.0.4, но мы сталкивались с этой ошибкой и в других версиях)

После долгих экспериментов мы поняли, что не так:

На указанных машинах будут приложения, использующие общемашинные драйверы оракула, которые автоматически блокируют их и не позволяют установщику драйверов оракула творить чудеса при попытке обновить или переустановить указанные драйверы оракула. Самым подлым «приложением» будут веб-сайты, работающие в IIS и т.п., потому что эти приложения по существу автоматически запускаются при перезагрузке. Чтобы противостоять этому, мы делаем следующее:

  1. Отключить автоматический запуск IIS при перезапуске. Сделайте то же самое для любых других приложений/служб, которые автоматически запускаются при перезагрузке.
  2. Удалите все предыдущие драйверы Oracle и дважды проверьте, не осталось ли следов в реестре или папках.
  3. Перезагрузите компьютер
  4. (Повторно) установите драйверы Oracle и повторно включите IIS и другие автоматически запускаемые приложения.
  5. Перезагрузите компьютер

Читайте также: