我正在使用oracle 10g和toad 11.5.我试图从一个匿名块调用api.
如果我在添加后重新编译api dbms_output.put_line然后尝试执行匿名块,则显示错误为
"ORA-06508: PL/SQL: could not find program unit being called".
Run Code Online (Sandbox Code Playgroud)
但是,如果我结束当前会话并打开一个新会话,那么匿名块将执行而不会出错.
由于这个问题,每次我更改API时,我都会重新连接会话.如果可以通过在toad或数据库级别进行任何配置来解决此问题,任何人都可以提供帮助.
Oracle中是否有任何方法可以确定包是否具有状态或无状态?我不知道数据字典中包含该信息的任何视图.
"ORA-04068:包字符串的现有状态已被丢弃"错误相当令人讨厌.可以通过从包中删除包变量来消除它.11g引入了一个特性,即包含所有编译时常量变量的包将被视为无状态.
我可以有两个会话并将包编译成一个并在另一个中调用它,看看它是否抛出异常,但这需要调用包中的过程,这可能是不可取的.