Oracle Odp.Net在无效程序包中调用过程时未报告错误

时间:2011-02-01 15:57:06

标签: c# oracle exception odp.net

我刚刚遇到了最糟糕的维护噩梦:一个无声的错误。

我在自定义包中使用Odp.Net调用过程,并且过程调用无声地失败而没有抛出任何异常(使用逐步调试和catch all子句进行验证)。经过多次搜索后,我注意到Package无效(服务器上发生了一些事故),重新编译后,一切都恢复正常(调用代码是正确的,未经修改)。

由于在Oracle中意外地使包失效非常容易,我需要捕获这种错误,如果只记录它们进行调试。

使用MS的System.Data.OracleClient,在这种情况下抛出了OracleException,有没有办法在Oracle的Oracle.DataAccess中获得类似的行为?某种sqlnet.ora参数?我在网上的任何地方都没有发现类似的问题。

使用Oracle11R2服务器,最新的Oracle Win32客户端。 .NET3.5。

2 个答案:

答案 0 :(得分:2)

您是否尝试过启用odp.net跟踪日志?

<oracle.dataaccess.client>
  <settings>
   <add name="TraceFileName" value="c:\odpnet1.trc"/>
   <add name="TraceLevel" value="63"/>
 </settings>
 </oracle.dataaccess.client>

也许它会有所启发?

答案 1 :(得分:0)

这是提供商的麻烦。在类似的异常后我改变了ODP.NET。现在我正在使用dotConnect for Oracle并建议你做同样的事情。