下面基本上是我的代码.SQL似乎正在工作,因为对getFetchSize的调用返回10.对next()的调用给出了false。如果调用了getObject,它会抛出一个exhaustedResultSet SQLException。这是在Maven项目中使用Spring在Tomcat 8.5上使用Oracle 11g数据库创建在win7中运行的REST Web服务,如果有任何重要的话。如果我遗漏任何重要信息,请告诉我。
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
class StringGettingClass {
public String[] methodToGetStrings() {
String qry = "SELECT Column FROM TABLE";
String[] string_array;
try {
Context envCtx = (Context) new InitialContext().lookup("java:comp/env");
DataSource dataSource = (DataSource) envCtx.lookup("jdbc/JdbcDb");
Connection connection = dataSource.getConnection();
Statement s = connection.createStatement();
ResultSet r = s.executeQuery(qry);
int rows = r.getFetchSize();
string_array = new String[rows];
int row = 0;
while (r.next()) {
string_array[row] = r.getObject("Column").toString();
row++;
}
} catch (SQLException s) {
s.printStacktrace();
} catch (Exception e) {
e.printStackTrace();
}
return string_array;
}
}