Подтвердить что ты не робот

OraOLEDB.Oracle поставщик не зарегистрирован на локальной машине

Я просто перешел с XP на Win 7. Я предполагаю, что эта ошибка связана с переключением операционных систем. Я написал приложение .net, которое в основном массирует большой объем данных, а затем подключается к базе данных и вставляет/обновляет таблицу.

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

Ясное, пошаговое описание того, как я могу быстро это исправить, будет высоко оценено.

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

'OraOLEDB.Oracle.1' поставщик не зарегистрирован на локальной машине

4b9b3361

Ответ 1

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

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

Ответ 2

Проделайте следующее тестирование:

Откройте командную строку и введите: tnsping instance_name

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

Если он вернется в порядке, выполните шаги ответа Der Wolf. Если не возвращается в порядке, выполните шаги ответа Annjawn.

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

Ответ 3

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

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

Ответ 4

  • Щелкните правой кнопкой мыши на моем компьютере
  • Нажмите свойства
  • Нажмите "Дополнительные параметры системы"
  • Нажмите "Переменные среды".
  • В системном разделе Variable найдите переменную "PATH"
  • Отредактируйте переменную "PATH" и добавьте к ней путь установки Oracle (с вашей локальной машины), например ;C:\oracle\product\10.2.0\client_1\bin

Ответ 5

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

Ответ 6

Основываясь на совете Der Wolfs, я удалил клиент Oracle и снова установил его, щелкнув правой кнопкой мыши программу установки и выполнив ее как Administrator. Это сработало.

Ответ 7

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

Чтобы сделать это, я сделал:

  • Щелкните правой кнопкой мыши на имени проекта (в левой части панели управления Solution Explorer)

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

  • Изменено значение "Платформа" от "Любой процессор" до "x64"

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

Ответ 8

Если вы получаете это в С# projet, проверьте, работаете ли вы в 64-битном или 32-битном режиме со следующим кодом:

        if (IntPtr.Size == 4)
        {
            Console.WriteLine("This is 32-Bit!");
        }
        else if (IntPtr.Size == 8)
        {
            Console.WriteLine("This is 64 Bit!");
        }

Если вы обнаружите, что вы работаете в 64-битном режиме, вы можете попробовать переключиться на 32-разрядный (или наоборот). Вы можете следовать этому руководству, чтобы заставить ваше приложение работать как 64 или 32 бит (соответственно X64 и X86). Вы должны убедиться, что Platform Target в ваших свойствах проекта не установлен в Any CPU и что он явно установлен.

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

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

Ответ 9

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

Ответ 10

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

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

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

  • Отключить IIS от автоматического запуска при перезапуске. Сделайте то же самое для любых других приложений/служб, которые автоматически запускаются при перезагрузке.
  • Удалите любой предыдущий драйвер Oracle и дважды проверьте, что в реестре или папках нет следов.
  • Перезагрузите компьютер.
  • (Re) Установите драйверы Oracle и включите IIS и другие приложения для автоматического запуска.
  • Перезагрузите машину & ​​lt; - Это очень важно. Драйверы Oracle OLE DB не будут работать, если вы не перезагрузите компьютер.

Если это не сработает, повторите попытку до тех пор, пока не будут работать драйверы OLE DB. Надеюсь, это поможет кому-то, кто пытается понять, что происходит.