Oracle函数-返回抛出错误的代码行

Oracle函数-返回抛出错误的代码行,oracle,oracle11g,Oracle,Oracle11g,我知道 将返回发生错误的行号 有没有办法得到在Oracle11g中给出错误的实际代码语句 没有类似的机制自动获取源代码 原则上,您可以从user\u source或all\u source数据字典视图中获取该行(可能还有周围行)的源代码 不过,您描述的场景是,您无法访问引发初始异常的数据库上的源。当前捕获并格式化异常的调用PL/SQL块只有在数据库链接用户被授予查看该数据库中代码的权限时才能查看远程源代码,而您暗示它没有。您可以通过查询all进行验证_source@db_link用于堆栈跟踪中的

我知道

将返回发生错误的行号


有没有办法得到在Oracle11g中给出错误的实际代码语句

没有类似的机制自动获取源代码

原则上,您可以从
user\u source
all\u source
数据字典视图中获取该行(可能还有周围行)的源代码

不过,您描述的场景是,您无法访问引发初始异常的数据库上的源。当前捕获并格式化异常的调用PL/SQL块只有在数据库链接用户被授予查看该数据库中代码的权限时才能查看远程源代码,而您暗示它没有。您可以通过查询
all进行验证_source@db_link
用于堆栈跟踪中的所有者和包/过程。如果你还没有得到它,就要试着去索取它——当然,这个来源可能不是有意公开的


如果您确实拥有该访问权限,则可以通过该链接手动查看源代码。您还可以在本地异常处理程序中查询该异常,并作为调试工具,使用
dbms\u output
输出该异常。这与查看本地代码没有什么不同,查询中只有DB链接。但是,向调用本地过程的人公开远程代码可能是不明智的。

只需查看源代码,例如在
user\u source
中。但是,公开源代码将是一件奇怪的事情。。亚历克斯。非常感谢。我只是检查一下。。因为,我们没有查看代码的权限,因为它位于不同的数据库中,每次我们依赖其他团队时,都会导致多个包需要验证,如果有这样的选项来获取引发错误的确切代码段,那将非常有帮助。但无论如何,到目前为止,一切都无法平息:)再次感谢。。你一如既往地乐于助人:)@AlexPoole顺便问一下,为什么yopu不把它作为一个答案发布呢?提问者会将其标记为“已完成”,并且很明显,它已经得到了回答。
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE