I run into an this issue and I have been hitting my head against the wall trying to figure out how to get around it. I have an ASP.NET application (written in .NET 1.1 I believe, with no source code available) that connects to Oracle database via OleDB connection.
The host machine has been recently replaced with a 64 bit Windows 2012 and the Oracle database upgraded to v 12. Now, the only way I have been able to get the application to run on the new server is if I switch Application Pool on IIS to run in 32 bit mode. Everything seems to work - except for the connection to Oracle.
The connection string that I use is:
Provider=OraOLEDB.Oracle; Data Source=DSNAME;User ID=user;Password=password;Unicode=True
When I try to run a simple ASP.NET test web app in 64 bit app pool mode just to test out the connection - it works fine! When I switch into 32 bit mode - it returns the following The 'OraOLEDB.Oracle' provider is not registered on the local machine.
Now, I have tried downloading and installing the 32 bit version of Oracle Data Access Components and running the install.bat and configure.bat (which seem to have executed without any errors - yet provider is still not working!
Also when I run the following command line (to launch 32 bit OleDB config screen)
C:\Windows\syswow64\rundll32.exe "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile D:\test.udl
I get Provider can not be found. Ensure provider has been installed properly.
message prompt.
Please help!