在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 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列。不带参数的 call 转义序列的语法如下所示: {call procedure-name} 作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中...
sqlserver各版本驱动 DriverManager:负责...Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)
帮你实现微软的sql server的jdbc连接,有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问...
本工程用于JDBC如何实现对存储过程的调用 本工程编码方式:GBK 参考博客网址:http://blog.csdn.net/gaohuanjie/article/details/34422903 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; CREATE TABLE...
Spring jdbcTemplate 调用 Oracle 存储过程返回 List 集合 Spring jdbcTemplate 是一个强大的 JDBC 模板,提供了简洁的方式来访问数据库。在此文档中,我们将介绍如何使用 Spring jdbcTemplate 调用 Oracle 存储...
1、执行sql语句返回单条查询结果; 2、执行查询语句sql返回结果集; 3、执行数据的插入,修改,删除; 4、执行批处理; 5、调用存储过程; 6、调用函数返回一个String,int结果; 7、调用过程返回游标并封装到...
JDBC 通过调用其接口提供的方法, 提供了 Java 应用程序与各种数据库服务器之间的连接服务, 它支持 ANSI SQL- 92 标准, 实现了从 Java 程序内调用标准的 SQL 命令对数据库进行查询、插入、删除和更新等操作, 并...
本文档演示如何从 Java 存储过程将 JDBC ResultSet 作为 REF CURSOR 返回。JDBC ResultSet 是一个表示数据库的数据表,通常通过执行查询数据库的语句产生该表。REF CURSOR 是 PL/SQL 中相应的类型。Java 存储过程的...
JDBC规范 java.sql和javax.sql两个包中的类与接口(天龙八部): ... CallableStatement:调用存储过程 ResultSet:结果集,封装了多条记录 JDBC数据库连接池/Connection Pool DBCP:apache tomcat内置
本地协议纯java驱动程序:将JDBC调用直接转换成JDBC所使用的网络协议 2、JDBC操作基本流程: 1>.导入驱动:实例化时自动向DriverManager注册(DriverManager.registerDriver()) <1>.Class.forName(driver) <2>....
java.sql.Statement 用于执行静态SQL语句并返回其生成结果的对象。 java.sql.PreparedStatement 继承Statement接口,表示预编译的SQL语句的对象,SQL语句被预编译并且存储在PreparedStatement对象中。然后可以...
JDBC 提供了调用存储过程的功能,使用 CallableStatement 对象可以调用存储过程。 JDBC 元数据 JDBC 元数据是 JDBC 的一个重要组件,用于提供数据库的元数据信息。元数据包括数据库的 schema 信息、表信息、字段...
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...
当设置为 true 时,Hibernate 将输出所有 SQL 语句到控制台,方便开发者调试和优化数据库操作。 3. hibernate.format_sql hibernate.format_sql 参数用于在 log 和 console 中打印出更漂亮的 SQL。其取值为 true ...
在auto-commit模式屏蔽掉之后,如果不调用commit()方法,SQL语句不会得到JDBC事务处理确认。在最近一次commit()方法调用之后的所有SQL会在方法commit()调用时得到确认。 1. public int delete(int sID) { 2. dbc =...
基于MysqlJDBC编程代码示例,包括配置文件读取,连接对象的创建,查询,增加,修改,元数据的使用方法,图片数据数据库存储读取,存储过程的SQL创建语句和java使用存储过程进行增删改查的调用代码,还有可以更新结果...
在连接成功后,通过调用statement对象的executeQuery()方法执行了一条SQL查询语句,并将结果保存到了结果集对象中。最后遍历结果集,输出了每个用户的ID、姓名和电子邮件地址。在finally块中关闭了所有的资源。由于...
本文深入分析了MyBatis执行SQL的整个流程,从...在此过程中,Executor组件发挥关键作用,它封装了JDBC操作,管理SQL语句的生成和查询缓存的维护。Executor根据配置可分为SimpleExecutor、ReuseExecutor
jdk1.8可使用的jdbc驱动... ...Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)