我无法在 Java 中调用 Oracle 存储过程。我在数据库中添加了一个存储过程,如下所示:
String SQL = "CREATE OR REPLACE PROCEDURE LIVERESULTS() " +
"IS " +
"BEGIN" +
" SELECT POOL_ID, POOL_MBR_ID, BSLN_CD, PGE_TYP_NM, SERV_NM, CL_FILE_NM" +
" FROM LBMADM.TPPO_MSTR_MAP " +
" ORDER BY SERV_NM" +
" WHERE PGE_TYP_NM = 'live' ; " +
"END";
stmtLIVE = con.createStatement();
stmtLIVE.executeUpdate(SQL);
现在我试图这样称呼它:
CallableStatement cs;
try {
cs = con.prepareCall("{call LIVERESULTS() }");
rs = cs.executeQuery();
while (rs.next()) {
.....
但是,我收到以下错误:
java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00905: object UT9J.GENERATE_SQL_FOR_LIVE is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
我无法完全弄清楚我哪里出错了。我阅读了 Oracle 的文档,我相信我做的一切都是正确的,但我想不是。如果有人能对这种情况有所了解,我将不胜感激。