I have made a desktop app Setup that connects with remote Oracle 10g Database. When I install Setup on remote machine and run my application then I get following error:
system.data.oracleclient requires oracle client software version 8.1.7 or greater
It works well on my Development machine.
The error message is pretty self-explanatory: your application needs the Oracle Client installed on the machine it's running on. Your development PC already has it. Make sure your target PC has it, too.
Edit: The System.Data.OracleClient namespace is deprecated. Make sure you use the driver native to your database system, that would be ODP.NET from Oracle.
It is a security issue, so to fix it simply do the following:
- Go to the Oracle Client folder.
- Right Click on the folder.
- On security Tab, Add "Authenticated Users" and give this account Read & Execute permission.
- Apply this security for all folders, Subfolders and Files (IMPORTANT).
- Don't Forget to REBOOT your Machine; if you forgot to do this you will still face the same problem unless you restart your machine.
On your remote machine, System.Data.OracleClient need access to some of the oracle dll which are not part of .Net. Solutions:
- Install Oracle Client , and add bin location to Path environment varaible of windows OR
- Copy oraociicus10.dll (Basic-Lite version) or aociei10.dll (Basic version), oci.dll, orannzsbb10.dll and oraocci10.dll from oracle client installable folder to bin folder of application so that application is able to find required dll
On your local machine most probably path to Oracle Client is already added in Path environment variable to there required dll are available to application but not on remote machine
If you have to use the older client, here is my experience.
We are running a 32bit server so the development machines run the 32bit client. We run the 11.1 install, 11.2 gets the error. Once you have installed the 11.2 version you have to manually delete the files Oracle.Web.dll
and System.Data.OracleClient.dll
from the %windir%\Microsoft.NET\Framework\v2.0.50727
, reinstall 11.1, then register the dlls with gacutil.exe
.
This fixed the issue with my systems.
Go to C:\app\insolution\product\11.2.0\client_1\BIN and find oci.dll. Right click on it -->Properties -->Under Security tab, click on Edit -->Then Click on Add Button --> Here add two new users with names IUSR and IIS_IUSRS and give them full controls. That's it.
After installation of Oracle Client 11.02.04, reboot the server and make sure USERS(Local Computer) is added with Full Control on Root folder for eg WWW
Tested, it worked.
来源:https://stackoverflow.com/questions/19354015/error-system-data-oracleclient-requires-oracle-client-software-version-8-1-7-or