System.Data.OracleClient requires Oracle client software version 8.1.7 or greater

This error occurs very often after publishing an Oracle-consuming Web Site, WCF Service, or SSRS Report to the production environment. Your first reaction should be to check if indeed an Oracle client ìs installed on the machine. Microsoft's System.Data.OracleClient is just not enough.

If an Oracle client was installed and the error still occurs, then you should check its ACLs. Your service might be running under an account that does not have file permissions to the Oracle client runtime. You can solve this issue by making sure that the content of the ORACLE_HOME directory is visible to all technical and impersonated users on the machine - in reality that simply boils down to all Authenticated Users.

Here's the recipe:
  • Log on to the server as a user with Administrator privileges.
  • Start Window Explorer and navigate to the ORACLE_HOME folder, most probably C:\oracle\version.
  • Rightclick and select "Properties" on the ORACLE_HOME folder.
  • Click the “Security” tab of the “Properties” window.
  • Select “Authenticated Users” item in the “Group or User names” list.
  • Uncheck and then recheck the “Read and Execute” box in the “Permissions” list under the “Allow” column.
  • Click the “Advanced” button in the “Permission Entries” to verify that “Authenticated Users” are listed with permission = “Read & Execute”, and make sure that "Apply To" shows “This folder, subfolders and files”.
  • Click “OK” buttons to close all of the security properties windows. Be patient, it may take Windows a couple of seconds to complete the modifications.
  • Restart IIS and try the application. If the problem persists, then reboot (security information is almost always cached somewhere...).

No comments:

Post a Comment