甲骨文:如何避免;“java会话状态已清除”;加载java类时出错?

甲骨文:如何避免;“java会话状态已清除”;加载java类时出错?,java,oracle,stored-procedures,Java,Oracle,Stored Procedures,每当我加载一个java类时,当我调用该类的一个成员时,在我打开的会话中就会出现这个错误。有可能避免这种情况吗 ORA-29549: class MH.Tbs has changed, Java session state cleared ORA-06512: at "MH.TBS", line 2 ORA-06512: at line 4 29549. 00000 - "class %s.%s has changed, Java session state cleared" *Cause:

每当我加载一个java类时,当我调用该类的一个成员时,在我打开的会话中就会出现这个错误。有可能避免这种情况吗

ORA-29549: class MH.Tbs has changed, Java session state cleared
ORA-06512: at "MH.TBS", line 2
ORA-06512: at line 4
29549. 00000 -  "class %s.%s has changed, Java session state cleared"
*Cause:    A class in use by the current session was redefined or dropped,
           invalidating the current Java session state and requiring that
           it be cleared.
*Action:   No action required.

你无法避免这一点,但有一些变通办法

当您更改(例如loadjava、dropjava等)java存储过程使用的类时,就会发生这种情况。回顾可能的工作;结束你的课程,创建一个新的课程,然后回忆一定会奏效。这就像pl/sql包在修改相关(依赖)对象时失效一样

顺便说一下,您可能还想检查一下:

当我使用由pl/sql oracle函数调用的java类时,我遇到了这种情况。我发现原因是java类中存在的System.println。我把它们取下来,它就起作用了**