java调用包程序无响应

标签 java maven spring-boot

我创建了一个 Spring Boot 应用程序的 API 模块来调用存储过程。到了实现的时候,stmt.execute不能调用而没有响应。请您告诉我在我的java环境是1.8下要修改哪个模块或路径?

int retVal = -1;
int errCode = -1;
String errText = null;
int outPos;
int pos = 0;
System.out.println("call 2");

String SQL_SELECT = "{call database_sid.test_pkg.get_pc_lue(?,?,?,?,?,?)}";
try (Connection conn = DriverManager.getConnection(DBC_URL, USERNAME, PASSWORD);
     CallableStatement preparedStatement = conn.prepareCall(SQL_SELECT);
) {

    System.out.println("call db");

    preparedStatement.setString(++pos, "OFFER_TYPE");
    preparedStatement.setString(++pos, null); // acct srv limit

    preparedStatement.registerOutParameter(outPos = ++pos, Types.REF_CURSOR);
    preparedStatement.registerOutParameter(++pos, Types.INTEGER);
    preparedStatement.registerOutParameter(++pos, Types.INTEGER);
    preparedStatement.registerOutParameter(++pos, Types.VARCHAR);
    System.out.println("call 10");

    ResultSet resultSet = preparedStatement.executeQuery();

    System.out.println("call 11");
    while (resultSet.next()) {


        String value = resultSet.getString("LOOKUP_VALUE");
        String type = resultSet.getString("LOOKUP_TYPE");
        PcTblBPcLookUp obj = new PcTblBPcLookUp();
        obj.setLookUpValue(value);
        obj.setLookUpType(type);
        result.add(obj);
        System.out.println("call 1obecj1");
    }
    result.forEach(x -> System.out.println(x));
    System.out.println("call finish ");
} catch (SQLException e) {
    System.err.format("SQL State: %s\n%s", e.getSQLState(), e.getMessage());
} catch (Exception e) {
    e.printStackTrace();
    System.out.println("call error : " + e.getMessage());
}

最佳答案

您需要使用execute执行存储过程,然后需要从为输出参数注册的选项中获取结果集

preparedStatement.execute();

ResultSet rs = (ResultSet) preparedStatement.getObject(outPos);

关于java调用包程序无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58658182/

相关文章:

java - 计算出一些总和

java - JSON 支持依赖项不起作用

java - Spring Boot Hello World 示例不工作

java - 启动 ApplicationContext 时出错。要显示条件报告,请在启用 'debug' 的情况下重新运行应用程序

java - 在另一个 Maven 作业中运行 Maven 作业

java - Spring查询字符串简单验证?

java - SimpleDateFormat 中的解析异常

java - 为同一应用程序中的多个项目配置 log4j。服务器

java - 使用 Apache Commons 和 Java FTP 下载后无法打开 Word 文档

maven - 为需要身份验证的代理存储库创建 Nexus 私有(private)存储库组的最佳实践是什么