【发布时间】:2021-11-26 13:12:23
【问题描述】:
我关注了这份文件https://docs.aws.amazon.com/redshift/latest/dg/stored-procedure-result-set.html
但似乎不完整,没有引用statement对象,该对象用于从refcursor中提取数据
我尝试了各种方法
PreparedStatement statement = connection.
prepareStatement("call myproc( null, null, 3, 4, 'rs' )");
boolean bb = statement.execute();
ResultSet resultSet = statement.executeQuery("fetch all from rs")
上面的代码失败了
java.sql.SQLNonTransientException: [Amazon][JDBC](11200) Invalid operation for this statement object
还尝试创建一个新的prepareStatement对象
PreparedStatement statement = connection.
prepareStatement("call myproc( null, null, 3, 4, 'rs' )");
boolean bb = statement.execute();
PreparedStatement p = connection.prepareStatement("fetch all from rs")
ResultSet resultSet = p.executeQuery()
上面的语句失败了
"INTERNAL_SERVER_ERROR","message":"java.sql.SQLException: [Amazon](500310) Invalid operation: cursor \"rs\" does not exist;"
Gradle.properties 条目
dependency(group: 'com.amazon.redshift', name: 'redshift-jdbc42-no-awssdk', version: '1.2.37.1061')
dependencySet(group: "com.amazonaws", version: "1.11.688") {
entry "aws-java-sdk-s3"
entry "aws-java-sdk-sts"
entry "aws-java-sdk-redshift"
};
【问题讨论】:
标签: java spring-boot amazon-redshift