Oracle Odp.Net 在调用无效包中的过程时未报告错误
我刚刚经历了最糟糕的维护噩梦:无声错误。
我在自定义包内使用 Odp.Net 调用一个过程,过程调用默默失败,没有抛出任何异常(使用逐步调试和 catch all 子句进行验证)。经过大量搜索后,我注意到该包已失效(服务器上发生了一些事故),重新编译该包后一切都恢复正常(调用代码是正确的且未修改)。
由于在 Oracle 中很容易意外地使包无效,因此我需要捕获此类错误,即使只是为了记录它们以进行调试。
在这种情况下,使用 MS 的 System.Data.OracleClient 会引发 OracleException ,是否有任何方法可以使用 Oracle 的 Oracle.DataAccess 获得类似的行为?某种 sqlnet.ora 参数?我在网上没有发现类似的问题。
使用Oracle11R2服务器,最新的Oracle Win32客户端。 .Net3.5。
I just got my worst maintenance nightmare : a silent error.
I was calling a procedure using Odp.Net inside a custom package, and the procedure call failed silently without any exception being thrown (verified using both step by step debug and a catch all clause). After much searching I noticed that the Package was invalidated (some mishap on the server), after recompiling the package everything was back to normal (the call code was correct and unmodified).
Since it is really easy to invalidate a package accidentally in Oracle, I need to catch this kind of error, if only to log them for debugging.
With MS's System.Data.OracleClient an OracleException was thrown in this case, is there any way to get a similar behavior with Oracle's Oracle.DataAccess ? Some kind of sqlnet.ora parameter ? I found no similar problem anywhere on the net.
using Oracle11R2 server, latest Oracle Win32 client. .Net3.5.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过启用 odp.net 跟踪日志?
也许它会带来一些启发?
Have you tried enabling odp.net trace log?
Maybe it will shed some light?
这是提供商的麻烦。在类似的异常之后我改变了 ODP.NET。现在我正在使用 dotConnect for Oracle 并建议您执行相同的操作。
It is provider trouble. I've changed ODP.NET after similar exception. Now I'm using dotConnect for Oracle and recommend you to do the same thing.