肯定是你的过程有问题。你可以在SQLPLUS编译一下,然后用命令:SHOW ERRORS查看一下,究竟错在什么地方,如查你有工具PLSQL DEVELOP,就可以单步跟踪执行,会很清楚问问题发生在什么地方。
如果有兴趣可以把你的过程发到:[email protected]我来帮你测一下。

解决方案 »

  1.   

    用show errors
    查看你的错误信息在oracle8。0。5的schema中可以看到你的过程中的错误
      

  2.   

    可能是过程中所引用的对象被改变了,造成过程invalid。
    比如该过程用到一张表,但该表不存在了。
    应该从新进行编译(如果是引用的表不存在了,就先建立表,再对过程进行编译)。
    如果你使用包的话,只要包头不变,就不会失效。
      

  3.   

    可能是过程中所引用的对象被改变了,造成过程invalid。
    比如该过程用到一张表,但该表不存在了。
    应该从新进行编译(如果是引用的表不存在了,就先建立表,再对过程进行编译)。
    如果你使用包的话,只要包头不变,就不会失效。
      

  4.   

    重新编译一下,或者用SQL plus看一看你的SQL语句能不能正常运行
      

  5.   

    这说明你的存储过程可能有误,你用show errors;查看错误信息,然后根据提示修改你的存储过程。
      

  6.   

    最好的办法是用pl/sql developer编译,它会直接提示错误信息。
    然后单步调试一下
      

  7.   

    在sqlplus中执行show errors procedure xxx
    可显示过程的错误信息。
      

  8.   

    应该是编译没通过吧?
    如果编译有错的话,可以用show error来查看什么地方出错了
    不如把你的代码发上来啊,:)
      

  9.   

    --重新编译
    alter procedure proc_name compile;
    --查看错误
    show errs