![](/img/trans.png)
[英]How to get a resultset in java code, from a stored procedure in plsql
[英]Stored Procedure call from Java returning SQLException after PLSQL code changes
我正在使用JDBC調用存儲過程,並且該連接在Oracle Web Logic Server 12c中配置為UCP
。 以下是我的示例代碼片段。
String query = "{? = call PACK_GLOBAL_VARIABLES.getBatchDate()};
CallableStatement cs = connection.prepareCall(query);
cs.registerOutParameter(1, Types.DATE);
cs.executeUpdate();
問題是,每當PL / SQL端有任何代碼更改時,我總是會收到此異常:
java.sql.SQLException: ORA-04068: existing state of packages has been discarded
ORA-04061: existing state of package body "SJN_UAT.PACK_GLOBAL_VARIABLES" has been invalidated
ORA-04065: not executed, altered or dropped package body "SJN_UAT.PACK_GLOBAL_VARIABLES"
ORA-06508: PL/SQL: could not find program unit being called: "SJN_UAT.PACK_GLOBAL_VARIABLES"
ORA-06512: at line 1
通過以下兩種方法之一可以解決此問題:
在生產環境中,以上兩種方法均不可行。 任何人都可以幫助您確定此問題和可能的解決方案嗎?
在應用程序運行時重建軟件包不是一個好習慣。
看來oracle和java應用程序的預期行為。
兩種可能的解決方案:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.