使用JDBC处理SQL Server存储过程时,偶尔会遇到两种奇怪的行为:
问题1:我在SQL Server Management Studio(SSMS)中运行存储过程并返回结果集.但是,当我尝试
try (CallableStatement cs = conn.prepareCall("{call dbo.TroublesomeSP}")) {
ResultSet rs = cs.executeQuery();
Run Code Online (Sandbox Code Playgroud)
我得到了例外
com.microsoft.sqlserver.jdbc.SQLServerException:该语句未返回结果集.
问题2:我在SSMS中运行存储过程并引发错误,但是当我.execute对存储过程使用JDBC时,不会抛出任何异常.
为什么会出现这些问题?如何避免这些问题?