sql – 包的现有状态已被丢弃

前端之家收集整理的这篇文章主要介绍了sql – 包的现有状态已被丢弃前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我一直在运行一个PLsql程序,没有错误编译.我对我的程序做了一个修改,它仍然编译得很好,但是现在当我运行它,我得到这个错误
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

任何想法可能是什么?我所做的改变是微不足道的,我怀疑这可能会导致这个错误.预先感谢您的帮助!

解决方法

当会话使用会话保留该包的某些状态的包时.如果重新编译该包,下一次同一个会话引用该包将会得到该错误.

为了避免这种情况,请确保断开每个可能已使用该软件包的会话,或者让会话执行DBMS_SESSION.RESET_PACKAGE来重置软件包状态.

原文链接:https://www.f2er.com/mssql/75337.html

猜你在找的MsSQL相关文章