Я только что перешел с XP на Win 7. Я предполагаю, что эта ошибка связана со сменой операционной системы. Я написал приложение .net, которое в основном обрабатывает большой объем данных, а затем подключается к базе данных и вставляет/обновляет таблицу.
Когда я нажимаю кнопку для подключения к базе данных, я сталкиваюсь с ошибкой, связанной с тем, что провайдер oracle не зарегистрирован на моей локальной машине.
Буду признателен за четкое, пошаговое описание того, как я могу быстро решить эту проблему.
Точное сообщение об ошибке следующее:
'OraOLEDB.Oracle.1' provider is not registered on the local machine
У меня возникла такая же проблема после установки 64-битного клиента Oracle на Windows 7 64 bit. Решение, которое сработало для меня:
cd \oracle\product\11.2.0\client_64\BIN
c:\Windows\system32\regsvr32.exe OraOLEDB11.dll
У меня была такая же проблема с помощью служб IIS.
Убедитесь, что опция 'включить 32-разрядных приложений' расположен на ПРАВДА Дополнительные параметры пула приложений.
Проведите следующий тест:
Откройте командную строку и введите: tnsping имя_экземпляра
где instance_name - имя экземпляра, к которому вы хотите подключиться (если это база данных XE, используйте "tnsping xe"
Если результат ок, следуйте шагам из ответа Der Wolf'. Если результат не подтвердился, выполните шаги из ответа Annjawn.
Это помогло мне в обоих случаях.
C:\oracle\product\10.2.0\client_1\bin
.Если у вас Windows 64 бит, попробуйте установить драйвер Oracle 32 бита первого, то драйвера 64 бит, вот что я делаю и работает
У меня был тот же вопрос, но я принял решение сохранить целевой платформы, как и любые процессора и снимите предпочитают 32-бит чекбокс. После того, как я остановить это, мне удалось открыть соединение с провайдером.
Он работал только для меня после того, как я изменил 'целевая платформа' до 'х64' (учитывая, что я'м с помощью Oracle 12С 64 бит)
Для этого я сделал:
Щелкните правой кнопкой мыши на имени проекта (в панели обозревателе решений найдите, в общем, слева)
Нажал на 'построить' (в новом окне)
Изменил 'целевая платформа' с 'любой процессор' до 'х64'
Что проблема решена.
Если вы получаете это в C# проект, проверить, если вы работаете в 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-битный (или наоборот). Вы можете следовать этому руководству]1, чтобы заставить приложение работать как 64 или 32 бита (x64 и x86 соответственно). Вы должны убедиться, что целевая платформа в свойствах проекта не задано значение любой процессор
и что это explicitley набор.
Переключение в том, что вариант с любой процессор
до х86
решена моя ошибка, и я смог подключиться к поставщику Oracle.
Моя команда будет наткнуться на этот вопрос каждый сейчас и потом в случайном машины, которые мы хотим установить нашу платформу (мы используем драйверы Oracle 12С Вер 12.2.0.4 но мы наткнулись на этот баг с других версий)
Спустя совсем немного экспериментов мы поняли, что случилось:
Сказал, что машины будут иметь приложения, которые были с помощью компьютера драйверы Oracle молча фиксируя их и предупреждая водителя-установщика Oracle, от работы своей магии, когда будет попытка обновить/переустановить сказала оракул-драйверы. Подлые и"приложение" и будут сайты в IIS и т. п., потому что эти приложения по сути автоматический запуск при перезагрузке. Чтобы противостоять этому, мы делаем следующее:
Если это не't работа затем смойте повторите, пока Оле работы драйвера БД. Надеюсь, что это помогает кто-то там борется, чтобы выяснить, что's идя дальше.