调试运行时pl / sql错误

时间:2014-12-07 14:41:20

标签: debugging plsql runtime

我是pl / sq。

的新手

所以,我试图从Java调用pl / sql存储过程,但出现错误:

wrong number or types of arguments in call to ‘searchuser’.

我在哪里可以找到最具体的例外?

oracle中是否有一些错误日志或错误表?我该如何调试这类问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

有一件事是如果你从java调用存储过程:不要忘记注册函数结果。示例Java代码:

        CallableStatement cstmt = connection.prepareCall("{? = call xxx.checkArea(?,?)}");

        // the 1st Parameter is the result of the function checkArea
        cstmt.registerOutParameter(1, Types.INTEGER);   // Function Return
        cstmt.setInt(2, status);                        // Parameter 1 (in)
        cstmt.registerOutParameter(3, Types.INTEGER);   // Parameter 2 (out)

        // execute the call
        cstmt.execute();

        // check the results
        sessionId = cstmt.getInt(1); // Session-ID
        rows = cstmt.getInt(3);      // Rows

PL / SQL函数声明如下:

  function checkArea(pi_area     in  number,
                     po_rows     out number) return number;