在JDBC中调用SQL Server中的存储过程时出现如下异常:
-
com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。
-
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
-
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:394)
-
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340)
-
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
-
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
-
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
-
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
-
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:283)
解决方法,在as 和声明之添加“SET NOCOUNT ON ”,举例如下:
alter procedure getPath(@userid int)
as
SET NOCOUNT ON
declare @functionid int,@parentid int ....
本文介绍了一种在使用JDBC调用SQLServer存储过程时遇到的“该语句没有返回结果集”异常,并提供了解决方案,即通过在存储过程头部添加“SET NOCOUNT ON”来避免该异常。
2763

被折叠的 条评论
为什么被折叠?



