java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 发生错误 ORA-01003: 没有语句解析异常
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-01003: no statement parsed exception
如果有人能帮我解决这个问题,我将不胜感激:
Getting java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-01003: no statement parsed exception
我尝试从 toad 执行存储过程,它给了我正确的异常 table or view does not exists
,但是当它从 Java 执行存储过程时,我遇到了这个问题。谁能告诉我这是 Java 问题吗?
我正在调用的存储过程需要输入参数。无法共享存储过程。
ORA-01003
错误表明您没有通过 JDBC 传递可解析的语句供 Oracle 处理。请检查您的 Java 代码是否正确调用了过程。
因为你没有透露程序的任何细节(包括参数的数量和类型),所以很难给出具体的建议;以下是如何调用过程 my_procedure
获取两个参数作为输入的示例片段。
private static final String CALL_PROCEDURE = "{ call my_procedure(?, ?) }";
...
private void callMyProcedure(Connection c) throws SQLException {
CallableStatement cs = null;
try {
cs = c.prepareCall(CALL_PROCEDURE);
cs.setString(1, "firstValue");
cs.setString(2, "secondValue");
cs.execute();
} finally {
if (cs != null) {
cs.close();
}
}
}
如果有人能帮我解决这个问题,我将不胜感激:
Getting java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-01003: no statement parsed exception
我尝试从 toad 执行存储过程,它给了我正确的异常 table or view does not exists
,但是当它从 Java 执行存储过程时,我遇到了这个问题。谁能告诉我这是 Java 问题吗?
我正在调用的存储过程需要输入参数。无法共享存储过程。
ORA-01003
错误表明您没有通过 JDBC 传递可解析的语句供 Oracle 处理。请检查您的 Java 代码是否正确调用了过程。
因为你没有透露程序的任何细节(包括参数的数量和类型),所以很难给出具体的建议;以下是如何调用过程 my_procedure
获取两个参数作为输入的示例片段。
private static final String CALL_PROCEDURE = "{ call my_procedure(?, ?) }";
...
private void callMyProcedure(Connection c) throws SQLException {
CallableStatement cs = null;
try {
cs = c.prepareCall(CALL_PROCEDURE);
cs.setString(1, "firstValue");
cs.setString(2, "secondValue");
cs.execute();
} finally {
if (cs != null) {
cs.close();
}
}
}