Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Provider cannot be found. It may not be properly installed.

dpcodiFeb 23 2015 — edited May 25 2015

We are migrating our ASP.Net 4.0 Web Application to 12c and Windows Server 2012 64 bit platform. Part of the application is running Classic ASP and utilizing COM+ application that require us to run under the IIS Application Pool in 32 bit mode.

We have done a side by side install of the 32 bit and 64 bit 12c client on the Server and now the Classic ASP application cannot find OraOLEDB.Oracle and the application pool is running under a 32 bit in IIS.

We are receiving and error ADODB.Connection error '800a0e7a' Provider cannot be found. It may not be properly installed.


The connection string ="Provider=OraOLEDB.Oracle;Data Source=PIIDB;USER ID=userid;PASSWORD=password" The environment path has the 64 bit home directory first as the install was done after the 32 bit client.

Any help would be greatly appreciated.

Comments

Alex Keh-Oracle

One of the features (or limitations) of COM is that you cannot have two COM components of the same name active at the same time. Since Oracle OLE DB is a COM component, it adheres to this principle.

To accomplish the goal you have in mind, you will have to alternate which Oracle OLE DB instance is the "active" version as described here.

Raviraja-Oracle

Hi,

As of 10.1, OraOLEDB can now be installed into multiple Oracle homes simultaneously, but only a single version can be active at any given time due to the nature of COM objects in the registry. 

To use a different version, the Oracle OLEDB provider dll (oraoledbXX.dll) must be re-registered via REGSVR32.exe,

which renders the previous version inoperable.

This is done automatically when switching homes via the OUI.

Also OraOLEDB requires that the home it is installed to be first in the PATH environment variable as it loads OCI.dll based on the PATH, which may result in the wrong client libraries getting picked up.

1)Open command prompt with "Run As Administrator" privileges.

In the command window execute the following command to register the Oracle Provider for OLE DB:

For 64-bit Oracle Client on 64-bit OS :

======================================

    set the PATH environment variable to <Oracle64BitHome>\bin

    regsvr32 <Oracle64BitHome>\bin\OraOLEDB11.dll

For 32-bit Oracle Client on 64-bit OS

======================================

set the PATH environment variable to <Oracle32BitHome>\bin

C:\Windows\SysWOW64\regsvr32 <Oracle32BitHome>\bin\OraOLEDB11.dll

Where <OracleXXBitHome> is the physical path to the Oracle home where the driver is installed.

Regards,

Ravi

dpcodi

I have tried your suggestion rebooted server after change but have had no success.

We are using the 12 C client ODP.Net the 64 bit installation was last.

32 bit: C:\oracle\product\12.1.0\client_1\bin

64 bit: C:\oracle\product\12.1.0\client_2\bin

Path: C:\oracle\product\12.1.0\client_1\bin;C:\oracle\product\12.1.0\odac_1\bin;C:\oracle\product\12.1.0\odac_1;C:\oracle\product\12.1.0\odac_2;C:\oracle\product\12.1.0\odac_2\bin;C:\oracle\product\12.1.0\client_2\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

C:\Windows\SysWOW64\regsvr32 C:\oracle\product\12.1.0\client_1\bin\OraOLEDB12.dll.

Still receiving message "Provider cannot be found. It may not be properly installed"

Raviraja-Oracle

Hi,

Are you sure that you are running the 32-bit application after registering the 32-bit dll ?

Check the process using task manager. If the process name contains *32 then you are running 32 bit processes on a 64 bit Windows.

Regards,

Ravi

2955920

Thanks for your reply.

    I saw the processes and they all are 32 bit process and my system is 64 bit.

Please see the screenshot I have attached with this.

Please let me know what should I do now?

1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jun 22 2015
Added on Feb 23 2015
5 comments
74,207 views