vertex3を使用してref_cursorを返すOracleストアドプロシージャを読み込もうとしています。私がそれを編集してclobを返し、JDBCType.CLOBを使用するのであれば、同じ手順が有効ですが、何らかの理由でref_cursorを使用する必要があります。誰か助けてくれますか?JDBCストアドプロシージャref_cursor(vertxを使用)
JDBCClient client = JDBCClient.createShared(vertx, new JsonObject()
.put("url", "jdbc:oracle:thin:@localhost:8787:TEST")
.put("driver_class", "oracle.jdbc.OracleDriver")
.put("user", "user")
.put("password", "****"));
client.getConnection(connection -> {
if (connection.succeeded()) {
SQLConnection con = connection.result();
JsonObject params = new JsonObject()
.put("query", "{ call ? := package.procedure(?) }")
.put("paramsIn", new JsonArray().addNull().add(89))
.put("paramsOut", new JsonArray().add(JDBCType.REF_CURSOR));
con.callWithParams(params.getString("query"), params.getJsonArray("paramsIn"), params.getJsonArray("paramsOut"), query -> {
if(query.succeeded()){
ResultSet rs = query.result();
System.out.println(rs.toJson().toString())
}else{
System.out.println(req.body() + query.cause().toString());
}
});
} else {
System.out.println(connection.cause().toString())
}
});
と私はエラーを取得する:
{呼び出しますか? :=は、package.procedure} java.sql.SQLExceptionという(?):タイプデ コロン非ヴァリデ:Vert.x 3.4.1のように2012
Vert.xのバージョン3.2.1で行っていることとまったく同じですが、バージョン3.4.1では他の方法であるかどうか尋ねます –