The provider is not compatible with the version of Oracle Client
- by jkrebsbach
There was a recent upgrade of the Oracle client on a production web server housing serveral app pools each containing multiple web sites. The upgrade consisted of adding the 11.2 client tools on the web server, but leaving the 9.2 and 10.2 versions alone.
After learning the upgrade occured, I updated Oracle.DataAccess.dll on my site to the 11.2 dll, and the web site ran smoothly.
The next day I discover the site is throwing an error: Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle Client
The App Pool will connect with an installed version of the Oracle client provider, and coordinate database interactions. If a request comes in for a web site configured using an earlier version of the provider, that is the version the App Pool will use for Oracle interactions. If a request is made for a site configured for a different version of the provider, the App Pool will see a conflict and throw the above error.
This web site: http://splinter.com.au/blog/?p=156 described the steps to grab the DLLs for a provider and bring them local (for Oracle 11.1), but even when I brought the DLLs for the Oracle Provider into the local bin directory, the App Pool would still determine the version of the oracle client and continue to throw the exception.
My only resolution for the above problem has been to have dedicated IIS app pools per version of Oracle client being leveraged.