1. Problemas
Usando jdbc de Java para llamar al procedimiento almacenado SqlSever, el error se informa de la siguiente manera:
Obviamente, el error es que no se devuelve ningún conjunto de resultados. El código para llamar al procedimiento almacenado es el siguiente:
String sql = "exec usp_HKY_LoadConfig '" + date + "'";
Statement ps = conn.createStatement();
ps.setQueryTimeout(queryTimeOut);
ResultSet rs = ps.executeQuery(sql);
while (rs.next()) {
...
}
dos, resuelve
El procedimiento almacenado utiliza una tabla temporal y rs siempre no tiene valor de retorno. ¿Por qué es esto? Aunque no se encontró directamente la causa, se encontró una solución. Agregue set nocount on y set nocount off al principio y al final del procedimiento almacenado
begin
set nocount on
...
set nocount off
end
Añadido, el resultado se encontró perfectamente.