1. ORA-04068错误的含义 ORA-04068 错误是 Oracle 数据库中的一个常见错误,其完整错误信息通常为:“existing state of PL/SQL package body has been discarded”。这个错误表明,PL/SQL 包体的当前状态已被丢弃,通常是因为包体在会话中被编译或替换了,但包的规范(specification)在会话中仍然保持打开状态。 2. 可...
除了了解ORA-04068错误的根本原因以及怎样处理它之外,这个错误还会使得开发人员放弃去一起使用存储过程(并从而放弃了使用存储过程所带来的所有好处),并在他们的应用程序代码中嵌入SQL语句(例如在Java代码中嵌入SQL)。 那么解决方法是什么? 在这一节,我们将讨论处理“ORA-04068”错误的许多解决方法。每一个解决方法都在...
$oerr ora 04068 04068, 00000, "existing state of packages has been discarded" // *Cause: One of errors 4060 - 4067 when attempt to execute a stored procedure. // *Action: Try again after proper re-initialization of any // application's state. 这个错误显示执行包的现有状态被另一个会话的...
不要在系统运行过程中,对Package重新编译。 传说中的04068啊,这个错误在开发中比较容易见到,简单说,就是你与数据库建立链接后,这个package被编译过,然后你再去调用这个包,会报这个错误,但只会报一次。 所以比较常见的做法,就是程序catch捕获异常后,判断错误是否是04068,如果是,重新调用一次,第二次调用就没问题了。
关于ORA-06508,ORA-04068异常的详细说明 参考:出现这种情况的原因是因为,对于全局变量,每⼀个session会⽣成⼀个本地copy,如果程序重新编译的话,就会因程序⾥原变量找不到⽽丢弃该变量,继⽽导致这个错误。也就是说在⼀个会话中调⽤程序包package时,会⽣成package中全局变量的副本,如果在另⼀...
ORA-04068和ORA-04065 RailwayGIS 北京交通大学 交通运输规划与管理硕士在读oracle执行存储过程时,两个过程一起执行,报错。 分别单独执行两个存储过程不报错。 因为存储过程中对表进行drop 解决方法:使用动态SQL:execute immediate,如下 begin createpoint; execute immediate 'begin CREATEEDGE; end;'; end; ...
1、ORA-12560:TNS:协议适配器错误 OracleService<SID>服务没有启动 2、 ORA-12541:TNS:无监听...
If you receive a java.sql.SQLException: ORA-04068: existing state of packages has been discarded error, then perform the following tasks.
解决方法: 1、编写无状态的存储过程 2、将状态统一管理,写一个独立的包 3、重启应用(最快速,不过线上环境就有点麻烦了 ) 4、在应用代码里捕获ORA-04068异常,并重新执行(第2次就不会报错了)
ORA-04068: 已丢弃程序包 的当前状态 ORA-04061: package "ZHANGXSH.PR_TEST" 的当前状态失效 ORA-04065: 未执行, 已更改或删除 package "ZHANGXSH.PR_TEST" ORA-06508: PL/SQL: 无法找到正在调用 : "ZHANGXSH.PR_TEST" 的程序单元 ORA-06512: 在 line2 ...