`
yangwei0915
  • 浏览: 461470 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法

 
阅读更多

在JDBC中调用SQL Server中的存储过程时出现如下异常:

  1. com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。

  2. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)

  3. at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:394)

  4. at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340)

  5. at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)

  6. at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)

  7. at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)

  8. at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)

  9. 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 ....

分享到:
评论

相关推荐

    Java调用SQL Server的存储过程详解

     使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列。不带参数的 call 转义序列的语法如下所示: {call procedure-name}  作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中...

    sqlserver各版本jdbc驱动.zip

    sqlserver各版本驱动 DriverManager:负责...Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)

    sql server的jdbc驱动

    帮你实现微软的sql server的jdbc连接,有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问...

    JDBC如何实现对存储过程的调用

    本工程用于JDBC如何实现对存储过程的调用 本工程编码方式:GBK 参考博客网址:http://blog.csdn.net/gaohuanjie/article/details/34422903 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; CREATE TABLE...

    Spring jdbcTemplate调用Oracle存储过程返回List集合

    Spring jdbcTemplate 调用 Oracle 存储过程返回 List 集合 Spring jdbcTemplate 是一个强大的 JDBC 模板,提供了简洁的方式来访问数据库。在此文档中,我们将介绍如何使用 Spring jdbcTemplate 调用 Oracle 存储...

    自己封装的JDBC工具类源码

    1、执行sql语句返回单条查询结果; 2、执行查询语句sql返回结果集; 3、执行数据的插入,修改,删除; 4、执行批处理; 5、调用存储过程; 6、调用函数返回一个String,int结果; 7、调用过程返回游标并封装到...

    sqljdbc_8.2.2.0_chs.zip

    JDBC 通过调用其接口提供的方法, 提供了 Java 应用程序与各种数据库服务器之间的连接服务, 它支持 ANSI SQL- 92 标准, 实现了从 Java 程序内调用标准的 SQL 命令对数据库进行查询、插入、删除和更新等操作, 并...

    如何从 Java 存储过程将 JDBC ResultSet 作为 Ref Cursor 返回.doc

    本文档演示如何从 Java 存储过程将 JDBC ResultSet 作为 REF CURSOR 返回。JDBC ResultSet 是一个表示数据库的数据表,通常通过执行查询数据库的语句产生该表。REF CURSOR 是 PL/SQL 中相应的类型。Java 存储过程的...

    Spring Data JDBC与JDBC的区别

    JDBC规范   java.sql和javax.sql两个包中的类与接口(天龙八部): ... CallableStatement:调用存储过程  ResultSet:结果集,封装了多条记录  JDBC数据库连接池/Connection Pool  DBCP:apache tomcat内置  

    JDBC详解HTML-JDBC.pp

    本地协议纯java驱动程序:将JDBC调用直接转换成JDBC所使用的网络协议 2、JDBC操作基本流程: 1>.导入驱动:实例化时自动向DriverManager注册(DriverManager.registerDriver()) <1>.Class.forName(driver) <2>....

    JDBC笔记 JDBC笔记

    java.sql.Statement 用于执行静态SQL语句并返回其生成结果的对象。 java.sql.PreparedStatement 继承Statement接口,表示预编译的SQL语句的对象,SQL语句被预编译并且存储在PreparedStatement对象中。然后可以...

    jdbc实例教程

    JDBC 提供了调用存储过程的功能,使用 CallableStatement 对象可以调用存储过程。 JDBC 元数据 JDBC 元数据是 JDBC 的一个重要组件,用于提供数据库的元数据信息。元数据包括数据库的 schema 信息、表信息、字段...

    JDBC 3.0数据库开发与设计

    4.2.5 SQL Server存储过程编程经验技巧 4.3 成批更新(BatchedUpdate) 4.3.1 成批更新所使用的对象 4.3.2 使用成批更新的实例 4.4 行集合对象 4.4.1 设计时行集合 4.4.2 运行时行集合 4.4.3 非标准JDBC API...

    让hibernate输出sql语句参数配置.doc

    当设置为 true 时,Hibernate 将输出所有 SQL 语句到控制台,方便开发者调试和优化数据库操作。 3. hibernate.format_sql hibernate.format_sql 参数用于在 log 和 console 中打印出更漂亮的 SQL。其取值为 true ...

    JDBC事务处理机制探秘

    在auto-commit模式屏蔽掉之后,如果不调用commit()方法,SQL语句不会得到JDBC事务处理确认。在最近一次commit()方法调用之后的所有SQL会在方法commit()调用时得到确认。 1. public int delete(int sID) { 2. dbc =...

    JDBC编程代码示例

    基于MysqlJDBC编程代码示例,包括配置文件读取,连接对象的创建,查询,增加,修改,元数据的使用方法,图片数据数据库存储读取,存储过程的SQL创建语句和java使用存储过程进行增删改查的调用代码,还有可以更新结果...

    使用Java JDBC实现一个简单的数据库操作.txt

    在连接成功后,通过调用statement对象的executeQuery()方法执行了一条SQL查询语句,并将结果保存到了结果集对象中。最后遍历结果集,输出了每个用户的ID、姓名和电子邮件地址。在finally块中关闭了所有的资源。由于...

    深入剖析MyBatis SQL执行流程:从配置到查询结果的全程追踪

    本文深入分析了MyBatis执行SQL的整个流程,从...在此过程中,Executor组件发挥关键作用,它封装了JDBC操作,管理SQL语句的生成和查询缓存的维护。Executor根据配置可分为SimpleExecutor、ReuseExecutor

    mssql-jdbc-8.4.0.jre8.jar

    jdk1.8可使用的jdbc驱动... ...Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)

Global site tag (gtag.js) - Google Analytics