While we were working with a client we needed to move the site from the old machines where the IIS version was 6.0 to a new one where the IIS version is 7.5, and we experienced several issues.
- The first issue included connection to the Oracle databases as we use Provider=MSDAORA.1 for Oracle connection for the 32bit of our Oracle client.
When we move the site on the new machine whose IIS version is 7.5 and 64bit Oracle client 11g, the attempt to make a connection to the provider=MSDAORA.1 returned an error: “Oracle client and networking components were not found. These components are supplied by Oracle Corp and are part of the Oracle Version 7.3.3 or later client’s software install” (Picture.1)
We did a deep investigation and we found a solution. The solution included changing the provider name from Provider=MSDAORA.1 to Provider=OraOLEDB.Oracle because of the difference of the version of the Oracle client. This meansthat MSDAORA.1 works only with 32bit version of Oracle client, and if the version of the Oracle client is 64bit we need to use Provider=OraOLEDB.Oracle. Also we need to do an additional configuration in IIS Application Pools, Enable 32-bit Applications value False. (Picture.2)
The string for the provider “OraOLEDB.Oracle” was also another issue for us. So we switched the provider string to OraOLEDB.Oracle, and most of the things worked fine, until we tried to call an oracle function which returned a value. The error that we got was “wrong number or types of arguments”. The best solution for us was to install 32bit Oracle client version and to roll back the string for provider to MSDOARA.1. We set MSDOARA.1 for provider and configuration in IIS Application Pools, Enable 32-bit Applications value True. (Picture.3)