ASP.NET - ORA-04068:已丢弃现有的包状态

时间:2014-05-08 21:55:23

标签: asp.net oracle

这是ASP.NET应用程序,它使用的是具有全局const变量的Oracle包。在编译此包之后,第一个ASP.NET请求将获得此异常:ORA-04068。我读到这是因为这个全局const变量。

如果有办法在第一次请求时(在PROD环境中)避免此异常,请告诉我吗?

谢谢

2 个答案:

答案 0 :(得分:3)

如果你有一个PL / SQL包,它不仅包含可执行代码,还包括全局变量(常量或可修改),所有数据库会话/连接在编译之前使用过包并在之后访问它编译,将收到ORA-04068错误。

新会话不会发生。因此,避免它的一种方法是刷新所有数据库连接,例如通过回收IIS应用程序池。

答案 1 :(得分:3)

即使没有变化,也要确保编译规范。