Всякий раз, когда я загружаю класс 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.
2
Mark Harrison 24 Фев 2010 в 12:48

2 ответа

Лучший ответ

Этого не избежать, но есть обходные пути.

Когда вы меняете (например, loadjava, dropjava и т. Д.) Классы, используемые хранимыми процедурами java, это происходит. Напоминание может сработать; завершение сеанса, создание нового и повторный вызов определенно сработают. Это похоже на то, что пакеты pl / sql становятся недействительными при изменении связанных (зависимых) объектов.

Кстати, вы тоже можете это проверить: http://forums.oracle.com/forums/thread.jspa?threadID= 856644

3
gokhant 24 Фев 2010 в 20:06

Это случилось со мной, когда я использовал java-класс, который вызывается функцией pl / sql oracle. Я обнаружил, что причиной был System.println, который существовал в классе java. Я удалил их, и это сработало. **

0
Chantal 19 Апр 2016 в 18:23