Can not obtain Oracle client information from registry

.NET程序,使用Oracle数据库,启动项目时提示:Can not obtain Oracle client information from registry. Make sure that Oracle Client Software is installed, or use Direct mode of connecting to server.

错误详情:

在这里插入图片描述
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: Can not obtain Oracle client information from registry. Make sure that Oracle Client Software is installed, or use Direct mode of connecting to server.

源错误:

连接Oracle,c#代码,略……

源文件: …….cs 行: 161

堆栈跟踪:



[InvalidOperationException: Can not obtain Oracle client information from registry. Make sure that Oracle Client Software is installed, or use Direct mode of connecting to server.]
   Devart.Data.Oracle.OracleHomeCollection.a() +2923
   Devart.Data.Oracle.ao..ctor(aw A_0, ao A_1) +759
   Devart.Data.Oracle.u.a(DbConnectionOptions A_0, Object A_1, DbConnectionBase A_2) +197
   Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, DbConnectionOptions A_1, DbConnectionBase A_2) +190
   Devart.Common.DbConnectionPoolGroup.a(DbConnectionPool A_0, DbConnectionBase A_1) +73
   Devart.Common.DbConnectionPool.a(DbConnectionBase A_0) +85
   Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection) +158
   Devart.Common.DbConnectionFactory.b(DbConnectionBase A_0) +210
   Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection) +251
   Devart.Common.DbConnectionBase.Open() +216
   Devart.Data.Oracle.OracleConnection.Open() +232
   mHealth.Generic.Database.Helper.Oracle.OracleDbHelper.Open() +213
   mHealth.Generic.Bll.BllFacade.DoProcess(BllProcess process) +1876
   
   ……省略2行c#代码
   

版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.1


检查过程:
首先,确认了本机安装了Oracle client,而且是64位:
在这里插入图片描述
其次,打开sqlplus,从任务管理器可以看到,没有*32的标识,说明是64位。
在这里插入图片描述
直接解决方案: 此报错问题导致了Client应用无法打开,最后发现是.NET版本未注册至IIS,导致IIS无法识别代码配置文件中的.NET版本。

手动将.NET 4.0注册到IIS中,Client程序成功启动。但是仍报错Can not obtain……oracle client……

注册.NET版本:

aspnet_regiis.exe -i

在这里插入图片描述
在这里插入图片描述
注册.NET 4.0后,程序启动正常,但仍报错,Can not obatin…… 。说明此报错和本机环境的Oracle Client无直接关系,问题仍在解决中……

如果各位读者遇到这个问题,可以检查下是否有IIS未能识别.NET版本的问题,如有人解决了“无法从注册表获取Oracle客户端信息……”的问题,欢迎提供您的解决方案。

发布了135 篇原创文章 · 获赞 98 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/qq_35206244/article/details/103348506