PL / SQL编译失败,没有错误消息

时间:2008-11-12 04:36:48

标签: oracle plsql

我在Oracle 9.2.0.5.0实例上安装了APEX,所有软件包都无效。

我尝试使用DBMS_UTILITY.compile_schema重新编译所有内容,但仍然所有软件包都无效。因此,尝试重新编译单个包,

SQL> ALTER PACKAGE FLOWS_020000.WWV_FLOW_QUERY COMPILE BODY;

Warning: Package Body altered with compilation errors.

SQL> show err
No errors.
SQL> 
SQL> ALTER PACKAGE FLOWS_020000.WWV_FLOW_QUERY COMPILE;

Warning: Package altered with compilation errors.

SQL> show err
No errors.
SQL> 

在alter log中没有任何内容..

如何找到错误?不应该“显示错误”给我吗?

6 个答案:

答案 0 :(得分:10)

我知道这个答案有点晚,但只是想让你知道你也可以使用:

  

alter package your_package_name_here编译包;

     

alter package your_package_name_here编译正文;

然后,如果显示警告,您可以使用以下脚本检查错误以及它所在的行:

  

显示错误包your_package_name_here;

- >这显示了包本身内的错误

  

显示错误包正文your_package_name_here;

- >这显示了包体内的错误

答案 1 :(得分:8)

Conn as FLOWS_020000并转到:

SELECT *
FROM   ALL_ERRORS
WHERE  OWNER = USER;

或称为SYSTEM并转到

SELECT *
FROM   ALL_ERRORS
WHERE  OWNER = 'FLOWS_020000';

答案 2 :(得分:4)

在放弃这个问题几个月之后,然后再回过头来,我就把它解决了。

我试图编译的包已被包装。显然,在编译包装包时,您必须以包所有者身份登录。

我怀疑一个错误也在这里发挥作用,因为一些更深入的调查显示,当编译不是作为所有者时,服务器进程实际上是内存不足和死亡,但是作为包所有者登录允许编译对象没有问题。

答案 3 :(得分:2)

尝试

SHOW ERRORS PACKAGE BODY FLOWS_020000.WWV_FLOW_QUERY

答案 4 :(得分:2)

SHOW ERRORS PACKAGE FLOWS_020000.WWV_FLOW_QUERY

答案 5 :(得分:0)

我今天遇到了同样的问题。我发现我在做(如XXX):

alter package XXX.my_package compile body;

它会出错,然后show err实际上不会显示任何错误。

删除“XXX”。让我看到错误。