Oracleインスタンスにいくつかのパッケージがあります。データベースを最初から再作成すると、無効なオブジェクトはゼロになり、liquibaseからの警告は表示されません。
次に、次のようにパッケージメソッドを呼び出すと次のようになります。
new SimpleJdbcCall(jdbcTemplate).withCatalogName(packageName).withProcedureName(storedProcedureName).execute(parameterMap);
次のエラーが発生します。
org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call CALENDAR_MANAGEMENT.CREATE_SUMMARIES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}]; SQL state [72000]; error code [4063]; ORA-04063: package body "ETPDEV.CALENDAR_MANAGEMENT" has errors
ORA-06508: PL/SQL: could not find program unit being called: "ETPDEV.CALENDAR_MANAGEMENT"
ORA-06512: at line 1;
nested exception is java.sql.SQLException: ORA-04063: package body "ETPDEV.CALENDAR_MANAGEMENT" has errors
ORA-06508: PL/SQL: could not find program unit being called: "ETPDEV.CALENDAR_MANAGEMENT"
ORA-06512: at line 1
Caused by: java.sql.SQLException: ORA-04063: package body "ETPDEV.CALENDAR_MANAGEMENT" has errors
ORA-06508: PL/SQL: could not find program unit being called: "ETPDEV.CALENDAR_MANAGEMENT"
ORA-06512: at line 1
無効なオブジェクトを再度チェックしても、何も表示されません。CALENDAR_MANAGEMENTのコンパイルは、エラーなしで正常に完了します。
完全なスキーマの再コンパイルを試みましたが、うまくいきませんでした。
SQLDeveloperから呼び出すと、正常に動作します。