Continuing the discussion about the minimum footprint needed to connect to an Oracle DB from .NET. I've managed to set everything up to work without the installation (just by copying the required files). But when I try to run the code as IIS (7.5) application, I get the following error:
[Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.]
System.开发者_Go百科Data.OracleClient.OCI.DetermineClientVersion() +264875
System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName) +63
System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions) +133
System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +40
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +29
...
From what I've read, this could be a permissions problem, but I've tried many things (setting access premissions to files, changing the app. pool user, monitoring with ProcMon etc.) to get this to work, but to no avail. Does anybody have any ideas on how to approach this or should I just give up and install the instant client?
I know about devart's Oracle client, but it's not an option, unfortunately.
OK, the solution was to restart the computer after (re)setting the PATH environment variable to the location of Oracle client files (the 4 DLLs described in the original post). Restarting IIS did not help, I had to restart the whole machine.
精彩评论