首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用vertx的JDBC存储过程ref_cursor

使用vertx的JDBC存储过程ref_cursor
EN

Stack Overflow用户
提问于 2017-03-23 19:16:35
回答 2查看 654关注 0票数 1

我正在尝试读取一个使用ref_cursor返回vertx3的Oracle存储过程。如果我编辑它以返回clob并使用JDBCType.CLOB,同样的过程也是有效的,但出于某种原因,我必须使用ref_cursor。有人能帮帮我吗?

代码语言:javascript
复制
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())                 
             }
            });

我得到了一个错误:

{ call?:= package.procedure(?) } java.sql.SQLException: Type de colonne : 2012

EN

回答 2

Stack Overflow用户

发布于 2017-03-24 09:03:34

在3.4.1版中,不支持游标。作为解决办法,您可以创建自己的javax.sql.DataSource并与Vertx.executeBlocking一起使用它来调用JDBC java.sql.CallableStatement

对于其余的查询,您仍然可以通过javax.sql.DataSource使用Vert.xAPI。这将避免维护两个不同的连接池。

票数 0
EN

Stack Overflow用户

发布于 2019-10-17 06:58:29

您试过使用oracle.jdbc.OracleTypes.CURSOR而不是JDBCType.REF_CURSOR吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42985078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档