Oracle: как избежать ошибки «очищено состояние сеанса Java» при загрузке класса Java? - PullRequest
2 голосов
/ 24 февраля 2010

Всякий раз, когда я загружаю класс 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 ]

3 голосов
/ 24 февраля 2010

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

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

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

0 голосов
/ 19 апреля 2016

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...