Поставщик oraoledb oracle 1 не зарегистрирован на локальном компьютере

Обновлено: 06.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

Щелкните правой кнопкой мыши на названии проекта (на панели Решение Explorer найдите, в общем случае, слева)

Нажал на 'Build' (в новом открывшемся окне)

Изменил 'Platform target' с 'Any CPU' на 'x64'

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

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

enter image description here

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

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

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

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

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

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

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

Turn Prefer 32-bit off

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

Похожие вопросы:

Я работаю с файлами MS Excel в своем веб-приложении, построенном в среде Azure. Я никогда не сталкиваюсь со следующей ошибкой, когда пытаюсь получить доступ к файлу excel в моей структуре.

Я получаю эту ошибку при попытке подключиться к базе данных Oracle 11g с SSIS 2008 года на ноутбуке под управлением Windows 7. Тестовое соединение не удалось из-за ошибки инициализации поставщика.

Мне нужно прочитать файл excel в datatable. У меня есть этот код: public static DataTable LoadExcelFileToDatatable(string Filename, string SheetName = Sheet1) < try < string connectionString =.

На компьютере Win10 я пытаюсь подключиться к базе данных Oracle через проект VS 2017. После завершения вызова базы данных я продолжаю получать эту ошибку. Я уже пытался установить компоненты доступа.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

I am creating a SSIS package for which uses oracle provider for OLEDB.

Where as it's throwing an error when testing the connection. Please find the below error..

Test connection failed because of an error in initializing provider. The 'OraOLEDB.Oracle.1' provider is not registered on the local machine.

SSIS is on server1 and Oracle is on Server2.

Do u i need do anything with TNSNAMES.ORA file?? If yes, in which server??

Все ответы

Have you installed ODAC on the server where SSIS is running and this in the same 32/64 bit achitecture as SSIS?

Have you installed Oracle client tools? (ODAC)

You would need to install correct version of Oracle client tools and also make corresponding entry in tnsnames.ora file

If you want to use this from SSDT then you need to install 32 bit version of the driver as SSDT is a 32 bit application

Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
----------------------------
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page

I had already installed ODAC tools that i got from oracle website. The file came with the name of :ODTwithODAC1120320_32bit.

In tnsname.ora i had submitted following details.

In OLEDB connection manager i had provided Server or file name as ora_test. And Log On greyed out as well.

Did anything i have done wrong here.

I had installed ODAC tools that i got from oracle website. The file came with the name of :ODTwithODAC1120320_32bit.

ODTwithODAC1120320_32bit.


That's the 32 bit OleDB provider and works with SSDT as 32 bit tool, but Job in 64 bit SSIS will fail; you have to enforce the execution as 32 bit in package/Job properties.

Why does it say [Port Number] under host?

It should be your host name not port number

Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
----------------------------
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page

sorry it's not Port Number it's IP address of Oracle Server. Ya i changed it to Host name..

New error fallen in my bucket. Find below error

TITLE: Connection Manager
------------------------------
Test connection failed because of an error in initializing provider. ORA-12154: TNS:could not resolve the connect identifier specified.

Ok Sure Olaf , Thanks !

Hi,

I am creating a SSIS package for which uses oracle provider for OLEDB.

Where as it's throwing an error when testing the connection. Please find the below error..

Test connection failed because of an error in initializing provider. The 'OraOLEDB.Oracle.1' provider is not registered on the local machine.

SSIS is on server1 and Oracle is on Server2.

Do u i need do anything with TNSNAMES.ORA file?? If yes, in which server??

Thanks

Bhanu

I suggest you to try everything from CMD and move forward.

Try tnsping and make sure you have a connection to oracle DB

If you have a oracle credential, try connect the database from CMD shell.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (Host = sukgch0

ОТВЕТЫ

Ответ 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

Если вы обнаружите, что вы работаете в 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. Надеюсь, это поможет кому-то, кто пытается понять, что происходит.

LinkedIn
Twitter
Facebook

We had a case that came in where the customer was trying to configure a Data Source within the Power BI Admin Center for an Oracle Server. During the creation of that Data Source, they went to set the credentials, and received the following error.

SNAGHTML5fb5ed2

Failed to test connection. The ‘OraOLEDB.Oracle’ provider is not registered on the local machine.

There was nothing present within System Health of the Power BI Admin Center. Within the Data Management Gateway Event Log, we do see the error.

Even though we may be doing the test connection on a different machine from where the Data Management Gateway is located, the test connection is actually invoked via the Data Management Gateway. That is why we see the error in the Event Log for the Data Management Gateway.

This issue is due to the fact that we can’t find the Oracle OLEDB Provider from the Data Management Gateway perspective. We can verify this by using a Universal Data Link (UDL) file to see what OLEDB Providers are available on the machine. See Connectivity 101 for more information regarding a UDL File.

NOTE: By default the Oracle OLEDB Provider should be installed. I saw this with both Oracle 11 and Oracle 12.

Bitness Matters (32bit vs. 64bit)

One thing to remember with the UDL and with the Data Management Gateway is that bitness matters. If you are on a 64bit machine, the UDL, by default, will show the 64bit OLEDB Providers. If you installed the 32bit Data Management Gateway on a 64bit Windows machine, you will need the 32bit Oracle OLEDB Provider.

Looking on the machine where I have the Data Management Installed, I don’t see Oracle’s OLEDB Provider listed on the 64bit side. I have the 64bit Data Management Gateway installed.

SNAGHTML6bedae3

32bit Providers

When looking at the 32bit UDL, you will see an Oracle provider listed called Microsoft OLE DB Provider for Oracle.

SNAGHTML6c2d6c9

This is not the Oracle OLEDB Provider that comes from Oracle itself. This is an old Microsoft Provider that ships with windows and makes use of the Oracle 7 & 8 client libraries. The Data Management Gateway does not use this Provider. The Microsoft provider is only a 32bit provider and will not show up in the 64bit list.

Oracle’s Provider

In my limited testing, the Oracle OLEDB provider was installed when I installed the Oracle Server itself. So, in most cases, I would think the provider should already be listed. If it isn’t, you will need to install it using the Oracle Data Access Components (ODAC) install. This comes in a 64bit and 32bit flavor. Here are the links, I could find today, to download ODAC. You may want to validate the version of your Oracle Server if you want to match up the versions between the Server and Client libraries.

After that is installed, we should see Oracle Provider for OLE DB in the provider list within the UDL. You will then need to restart the Data Management Gateway Service. The test connection should work at that point. If it still doesn’t, try rebooting the server that the Data Management Gateway is installed on.

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