0
vertx3를 사용하여 ref_cursor를 반환하는 Oracle 저장 프로 시저를 읽으려고합니다. clob을 반환하고 JDBCType.CLOB을 사용하도록 편집하면 동일한 절차가 작동하지만 어떤 이유로 든 ref_cursor
을 사용해야합니다. 누군가 나를 도울 수 있습니까?Vertx와 jdbc를 사용하여 Oracle 저장 프로 시저의 결과 얻기 ref_cursor
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())
}
});
와 나는 오류를 얻을 : 그들은 Vert.x JDBC 클라이언트에 의해 지원되지 않도록
java.sql.SQLException: Type de colonne non valide: 2012