`
wangzi6hao
  • 浏览: 213016 次
  • 性别: Icon_minigender_1
  • 来自: sdf
社区版块
存档分类
最新评论

mssql2000升级到mssql2008出现 存储过程无法返回记录集

    博客分类:
  • Sql
阅读更多

使用现有的jdbc1.2 for 2005做数据库驱动时,发生存储过程无法返回记录集.在详细的查询资料后,并没有发现合适的解决方案.

但是使用了Sprinta7.40 的最新数据库驱动,发现可以正常的支持mssql2005和mssql2008,但是问题是Sprinta驱动是要钱的,不然就只有2个数据连接池给你用。

建议是使用其它的数据库驱动程序,比如hibernate的,不过我还没有测试。强烈bs微软自己的数据库驱动。

囧。。。。。。。。。。。

再次做了一下,发现一个问题是ResultSet may only be accessed in a forward direction.虽然设置了 ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY参数,还是会出现 ResultSet may only be accessed in a forward direction这个问题,做专门的mssql2008跟踪以后,发现并不是过程的问题。
不过里面的错误信息提醒了我,找到答案“无法在给定的语句中打开服务器游标。请使用默认结果集或客户端游标。”

cstmt = conn.prepareCall("{call cr_OrderByTrade(?,?,?,?,?)}",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );
            cstmt.setInt(1, action);
            cstmt.setString(2, comCode);
            cstmt.setString(3, depCode);
            cstmt.setString(4, from);
            cstmt.setString(5, to);
            rs = cstmt.executeQuery();
            rs.last();

 改成

cstmt = conn.prepareCall("{call cr_OrderByTrade(?,?,?,?,?)}",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );
            cstmt.setInt(1, action);
            cstmt.setString(2, comCode);
            cstmt.setString(3, depCode);
            cstmt.setString(4, from);
            cstmt.setString(5, to);
            cstmt.executeQuery();
            rs = cstmt.getResultSet();
            //rs = cstmt.executeQuery();
            rs.last();

 改成以下后,数据库查询成功。不过,数据库驱动没有用微软的sqljdbc.jar。而是用的jtds.jar驱动。不管怎么样,成功了。。。。

分享到:
评论

相关推荐

    ASP调用MSSQL存储过程并返回记录集源码详解[定义].pdf

    在本文档中,我们将深入探讨如何使用ASP调用MSSQL(Microsoft SQL Server)数据库的存储过程,并处理返回的记录集。 首先,我们需要了解ASP中的基本组件。在ASP代码(demo.asp)中,我们创建了一个`ADODB....

    ASP调用MSSQL存储过程并返回记录集源码详解宣贯.pdf

    本文将详细讲解如何在ASP中调用MSSQL存储过程并返回记录集。ASP(Active Server Pages)是一种基于服务器端的脚本环境,用于动态网页开发。MSSQL(Microsoft SQL Server)则是一个关系型数据库管理系统,提供了存储...

    MSSQL 2000 语法 分页 函数 存储过程

    以下是一些关于MSSQL 2000的语法、分页、函数和存储过程的知识点: 1. **分页查询**: - `TOP`关键字用于获取指定数量的行。例如,`SELECT TOP n * FROM table` 可以获取表中的前n行。 - 为了实现分页,可以结合`...

    最牛的asp+mssql存储过程带条件分页代码

    标题中的"最牛的asp+mssql存储过程带条件分页代码"指的是利用ASP调用MSSQL存储过程来实现带有特定条件的数据库查询,并且支持分页功能。分页是网页展示大量数据时常用的一种策略,它可以将结果集分割成多个部分,...

    oracle和mssql分页存储过程-均通用

    在应用程序中,通过传递适当的参数(如当前页码和每页记录数)调用这个存储过程,然后处理返回的结果集。 8. **安全性**: 使用存储过程也有安全风险,如SQL注入。因此,传递给存储过程的参数应进行适当的验证和...

    mssql的各种操作过程

    本文将详细探讨MSSQL中的几个关键概念:视图、存储过程、游标和触发器,以及如何进行相关操作。 首先,**视图**是虚拟表,它不实际存储数据,而是基于一个或多个表的查询结果。创建视图可以简化复杂的查询,提供...

    SQLApi-MSSQL存储过程+入参-出参-返回值-返回记录集.rar

    官方例子没有sqlserver的,网上也没有找到带出参的例子。自己琢磨了一个(基于MFC对话框-vs2017)。想用破解库就下载:http://download.csdn.net/detail/o_yale_o/9829598 相关sql脚本见 readme.txt

    vc6.0进销存管理系统(ADO+MSSQL2000)

    《VC6.0进销存管理系统:ADO与MSSQL2000的结合应用》 在信息技术领域,开发高效且实用的管理软件是至关重要的。VC6.0作为经典的微软Visual C++开发环境,因其强大的功能和灵活性,被广泛用于开发各种应用程序,尤其...

    自动生成单行操作记录的存储过程的存储过程

    标题中的“自动生成单行操作记录的存储过程的存储过程”指的是在Microsoft SQL Server (MSSQL) 中,创建一个存储过程,该过程能够自动记录数据库中的单行操作。这通常用于日志记录或者审计跟踪,以便追踪数据的更改...

    用asp把Excel导入到MSSQL

    Dim rs ' ADODB 记录集对象 Dim excelApp ' Excel 应用程序对象 Dim excelWB ' Excel 工作簿对象 Dim excelWS ' Excel 工作表对象 Set conn = Server.CreateObject("ADODB.Connection") Set excelApp = ...

    用LotusScript连接MSSQL2000实例(ADO)

    通过上述分析,我们了解到使用LotusScript与ADO结合,可以实现从MSSQL2000数据库中读取数据、处理数据并存储至Notes文档中的完整流程。这不仅展示了LotusScript在跨数据库操作方面的灵活性,也体现了ADO作为数据访问...

    SQLServer2000高级编程技术-已添加书签,想学存储过程、SQL编程务必要看,分析非常透彻

    10.4.1 使用临时表来传递一个记录集给一个嵌套的存储过程 10.4.2 使用光标来传递一个记录集给一个嵌套的存储过程 10.5 如何处理一个存储过程的结果集 10.6 使用标识值 10.6.1 一个标准问题及解答 10.6.2 标识值与...

    Excel2MSSQL.rar

    描述“asp excel转化为MSSQL实例”表明这是一个实际操作的案例,可能包括ASP代码示例,演示如何通过编程方式将Excel电子表格的数据转换并存储到MSSQL数据库中。这通常涉及到以下几个关键步骤: 1. **数据准备**:...

    MSSQL百完数据翻页

    根据提供的标题、描述、标签及部分内容,我们可以了解到这段内容主要涉及的是在Microsoft SQL Server(简称MSSQL)中实现分页查询的技术。接下来,我们将详细分析并解释其中的关键知识点。 ### MSSQL中的分页查询...

    用戶管理表設計(MSSQL)

    用户管理涉及到权限控制和存储过程,这些都是确保系统安全性和效率的关键要素。 首先,让我们关注用户管理表的设计。一个有效的用户管理表通常包括以下字段: 1. 用户ID:这是每个用户的唯一标识符,通常为自动...

    ASP之简化创建关闭记录集对象并创建使用简单的MSSQL存储过程

    本教程将简要介绍如何简化创建和关闭记录集对象,并演示如何在ASP中使用简单的MSSQL存储过程。 首先,我们来看创建记录集对象的过程。在ASP中,通常使用ADO(ActiveX Data Objects)的Recordset对象来与数据库进行...

    超市管理系统c#+mssql

    【标题】:“超市管理系统c#+mssql” 这个项目标题表明我们正在探讨的是一款基于C#编程...同时,通过"超市管理系统"的源代码,开发者也可以学习到C#与MSSQL的集成应用,以及如何设计和实现一个实用的业务管理系统。

    mssql 高效的分页存储过程分享

    存储过程的主要目的是返回指定页面的数据,并计算出总记录数。 首先,存储过程声明了几个局部变量,如`@beginRow`和`@endRow`,用于计算分页的起始和结束行号。接着,通过`@tempLimit`变量构建了一个动态SQL语句,...

Global site tag (gtag.js) - Google Analytics