Tak więc uruchomiłem procedurę PLSQL dobrze i kompilowałem bez żadnych błędów. Zrobiłem jedną zmianę do mojego postępowania i nadal kompiluje grzywny, ale teraz, kiedy go uruchomić, dostaję ten błąd:Istniejący stan pakietów został odrzucony.
ERROR at line 1:
ORA-04068: existing state of packages has been discarded
ORA-04061: existing state of package body "SCHEMA.XP_COVER_PAGEP" has been invalidated
ORA-04065: not executed, altered or dropped package body "SCHEMA.XP_COVER_PAGEP"
ORA-06508: PL/SQL: could not find program unit being called: "SCHEMA.XP_COVER_PAGEP"
ORA-06512: at "SCHEMA.XP_ST_002180", line 141
ORA-06512: at line 1
Jakieś pomysły co to może być? Wprowadzona przeze mnie zmiana była tak nieistotna, że wątpię, by mogła spowodować ten błąd. Z góry dziękuję za Twoją pomoc!
Dzięki darreljnz, rozwiązanie zadziałało dobrze dla mnie. Ale na początku nie rozumiałem, o co ci chodzi. Tak więc, zamierzam wyjaśnić nieco twoje rozwiązanie innym. Otwórz nowe okno testowe w pl/sql i wklej "Begin sys.dbms_session.reset_package; end;" i naciśnij klawisz F9, aby go uruchomić, a następnie wprowadź zmiany w pakiecie lub przekompiluj pakiet, a teraz nie otrzymamy żadnych błędów w naszych aplikacjach. –
Najlepsze rozpoczęcie odpowiedzi na ten problem. Byłoby dobrze widzieć to nieco dalej, aby wyjaśnić podstawowy problem i dlaczego wystąpił błąd. –
@YogeshJindal wygląda na to, że mówisz coś innego niż darrelinjz. Napisał, że musisz uruchomić RESET_PACKAGE na każdej sesji po zmianie pakietu, aby uniknąć błędu. – pauloya