[ASP.NET] System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本
环境:WIN2003+IIS+Oracle 9i+.NET Framework 3.0+IE 7
在IIS上部署无线**系统的WS模块时,IE中运行时WS的asmx调用页,提示如下错误:
System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。 在 System.Data.OracleClient.OCI.DetermineClientVersion() 在 System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName) 在 System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions) 在 System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) 在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 在 System.Data.OracleClient.OracleConnection.Open() 在 HISPlus.DbAccess.Connect() 在 HISPlus.OracleAccess.SelectData(String sqlSel, String tableName, DataSet& ds, Boolean blnWithKey) 在 HISPlus.DbAccess.SelectData(String sqlSel, String tableName) 在 DataWebSrv.GetPdaDbTableList(DateTime dtLastUpdate) 位置 c:\MobileWebSrv\App_Code\DataWebSrv.cs:行号 60
解决方法:
使用administrator用户登陆,
在ORACLE_HOME目录(默认为C:\Oracle\ora92),右键"属性" -> "安全"选项卡,点击"添加",在"选择用户和组"中点击"高级",
点击"立即查找",在搜索结果中将ASPNET用户添加进去,并将相应的权限赋给ASPNET用户。
将IIS重启即可(可以在命令行中使用iisreset命令重启IIS)。