JDBC 调用过程,出现不支持的 SQL92
JDBC call procedure , occur non supported SQL92
callStmt= conn.prepareCall("{call get_id(?,?,?);}");
callStmt.setString(1,"T_CUSTOMER");
callStmt.registerOutParameter(2,Types.VARCHAR);
callStmt.setString(3,"GD");
callStmt.execute();
String string = callStmt.getString(2);
System.out.println(string);
我在google搜索,发现这个错误可能是因为"{}",但是没有"{}"怎么调用oracle过程呢?或者我应该使用哪个令牌?
大括号不适用于 Oracle。把它们拿出来,你应该可以走了。 Oracle 传统上使用字符“:”后跟一个词的占位符。
如果你不喜欢 call 关键字,你可以使用这个:
"BEGIN get_id(?,?,?); END;"
callStmt= conn.prepareCall("{call get_id(?,?,?);}");
callStmt.setString(1,"T_CUSTOMER");
callStmt.registerOutParameter(2,Types.VARCHAR);
callStmt.setString(3,"GD");
callStmt.execute();
String string = callStmt.getString(2);
System.out.println(string);
我在google搜索,发现这个错误可能是因为"{}",但是没有"{}"怎么调用oracle过程呢?或者我应该使用哪个令牌?
大括号不适用于 Oracle。把它们拿出来,你应该可以走了。 Oracle 传统上使用字符“:”后跟一个词的占位符。
如果你不喜欢 call 关键字,你可以使用这个: "BEGIN get_id(?,?,?); END;"