0

我正在尝试在 Java 中调用 PL/SQL 存储过程。它在 SQL Developer 中工作。当我启动应用程序时,没有任何反应,也没有收到任何错误消息。数据库中没有任何变化。

这是代码:

try{
            Class.forName("oracle.jdbc.driver.OracleDriver");

            Connection con=DriverManager.getConnection(
            "jdbc:oracle:thin:@localhost:1521:orcl","student","student");


            CallableStatement callProc = con.prepareCall("CALL compare_images(1,2)");
            callProc.execute();  

            con.close();

            }catch(Exception e) { 
                System.out.println(e);
            }
4

2 回答 2

1

那应该是:

CallableStatement callProc = con.prepareCall("{call compare_images(1,2)}");

(注意包含实际 SQL 语句的花括号)

于 2013-06-04T21:40:14.633 回答
0

正如它在连接接口规范中提到的那样。方法prepareCall(String)第一个参数是语句:

通常,此语句是使用 JDBC 调用转义语法指定的。

JDBC 的转义语法看起来像{extension} (more)

于 2013-06-04T21:50:26.093 回答