1

继续讨论从 .NET 连接到 Oracle DB 所需的最小占用空间。我已经设法在没有安装的情况下设置一切正常工作(只需复制所需的文件)。但是当我尝试将代码作为 IIS (7.5) 应用程序运行时,出现以下错误:

[Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.]
   System.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
   ...

根据我的阅读,这可能是一个权限问题,但我尝试了很多方法(设置文件的访问权限、更改应用程序池用户、使用 ProcMon 进行监控等)以使其正常工作,但没有利用。有人对如何解决这个问题有任何想法,还是我应该放弃并安装即时客户端?

我知道devart 的 Oracle 客户端,但不幸的是,这不是一个选择。

4

1 回答 1

1

好的,解决方案是在(重新)将 PATH 环境变量设置为 Oracle 客户端文件(原始帖子中描述的 4 个 DLL)的位置之后重新启动计算机。重新启动 IIS 没有帮助,我不得不重新启动整个机器。

于 2010-03-10T09:15:39.200 回答