一、问题
用java的jdbc 调用 SqlSever 存储过程报错如下:
报错很明显就是 没有返回结果集, 调用存储过程的代码如下:
String sql = "exec usp_HKY_LoadConfig '" + date + "'";
Statement ps = conn.createStatement();
ps.setQueryTimeout(queryTimeOut);
ResultSet rs = ps.executeQuery(sql);
while (rs.next()) {
...
}
二、解决
存储过程用到了临时表,rs总是没有返回值。这是为什么呢?虽然直接也没有找到原因,但是找到了解决的办法。存储过程开始和结尾分别加上set nocount on和set nocount off
begin
set nocount on
...
set nocount off
end
加上了 ,完美的查到了结果