Challenge of Day

Tuesday, July 13, 2010

System.Data.OracleClient Requires Oracle Client Software Version 8.1 or Later

Couple of days ago, I was asked to make some enhancements to an old Visual Basic .NET program developed by Visual Studio 2003.
After upgrading the application and doing some refactoring, I replaced the (old) ADODB wrapper with System.Data.OracleClient.
The deployment environment is Windows 2000 Server which was updated with latest Microsoft patches including Service Pack and .NET Framework 3.5
After deploying the new program, it started to generate this error message:

System.Data.OracleClient Requires Oracle Client Software Version 8.1 or Later

It was very strand because the computer was running Oracle client 9.1 already.

I tried Oracle's Metalink knowledgebase. The closest shot (ID 1097598.1) stated this problem statement:

The following error may display when starting Performance Management Architect (EPMA) services on an Oracle database:"Service cannot be started. System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater."

And this document suggests this approach:

1- Log on to the MS Windows machine with the Administrator account.
2- Start MS Windows Explorer.
3- Navigate to the directory: ORACLE_HOME folder.
4- Right Click and choose the properties on the ORACLE_HOME folder.
5- Click the Security tab of the Properties window.
6- Click on the Authenticated Users in the Name list.
7- Uncheck the Read and Execute box in the Permissions list under the Allow column.
8- Recheck the Read and Execute box again.
9- Click the Advanced button.
10- In Permission Entries verify that Authenticated Users are listed with permission set to Read & Execute and Apply to set to: This folder ORACLE_HOME, subfolders and files.
11- Click OK to exit the security properties windows.
12- Restart the computer to ensure the changes take effect.

I followed above instructions but it did not solve my problem.

I also tried different recipes on the internet. Most of them suggesting similar solutions which was not helpful for me.

My workaround:

Finally I decided to upgrade Oracle Client from 9.1 to 9.2 and it worked successfully. To do so,
1 - I uninstalled the Oracle client by using Oracle Universal Installer.
2 - I went through all the Windows Registry (RegEdit.EXE) and cleaned all the entries were created by Oracle
3 - I restarted the computer
4 - I removed all the remaining Oracle files and folders from Windows Explorer including the one under "Program Files" folder and also OCI.DLL
5 - I installed new Oracle client program.

Be a winner in your daily challenges

Ali Khademi

Labels: ,