Oracle Существующее состояние пакета было отброшено

1

У меня есть пакет Oracle, который часто пересматривается. Когда я вызываю этот пакет после редактирования пакета, Oracle бросает ORA-04068: существующее состояние пакетов было отброшено. Хотя он работает нормально при последующих вызовах, это раздражает. Есть ли способ избежать этого сообщения, которое бросается на первый вызов пакета, который был скомпилирован.

Я вызываю пакет через WCF/ODP.NET 4.121.1.0, подключенный к Oracle 11G.

  • 2
    Вы смотрели на это? markhoxey.wordpress.com/2013/09/17/...
  • 0
    @Bart, спасибо, информативно .. Кажется, что объем работы, чтобы исправить это ..
Теги:
plsql
wcf

1 ответ

1

Если у вас есть переменные пакета, которые необходимы только для одного вызова, и вам не нужно сохранять значения между вызовами, вы можете использовать SERIALLY_REUSABLE Pragma. Вы можете найти здесь: http://docs.oracle.com/cd/B14117_01/appdev.101/b10807/13_elems046.htm

Если вам нужно отредактировать логику пакета, но типы и имена переменных остаются постоянными, вы можете просто поместить их в другой пакет. Это не битфул, а работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню