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

jtds操作mssql2005和mssql208的存储过程时出现ResultSet may only be accessed in a forward dire

    博客分类:
  • Sql
阅读更多

jtds-1.2.2 操作mssql2005和mssql208的存储过程时出现ResultSet may only be accessed in a forward direction.
在mssql2000下,并没有出现这样的问题。
原mssql20000下的代码如下:

           cstmt = conn.prepareCall("{call cr_OrderByTrade(?,?,?,?,?)}");
            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();
            if (rs.isLast()) {
                recordCount = rs.getRow();
            }

 虽然我改了

           cstmt = conn.prepareCall("{call cr_OrderByTrade(?,?,?,?,?)}");为cstmt = conn.prepareCall("{call cr_OrderByTrade(?,?,?,?,?)}",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );

 可是,错误还涛声依旧

后来在跟踪mssql2008时,无意的看到一个 无法在给定的语句中打开服务器游标。请使用默认结果集或客户端游标。 错误,google以后得到答案,改成了以下代码,成功执行:

            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();

 附上以下错误,方便搜索的朋友搜到
    at net.sourceforge.jtds.jdbc.JtdsResultSet.checkScrollable(JtdsResultSet.java:316)
    at net.sourceforge.jtds.jdbc.JtdsResultSet.last(JtdsResultSet.java:563)
    at com.job36.struts.crm.manager.KeywordChangManage.getApplyByStatus(KeywordChangManage.java:46)

分享到:
评论

相关推荐

    SQLSERVER官方驱动 jtds-1.3.1 mssql-jdbc-7.0.0.jre8 sqljdbc42

    SQL Server是Microsoft公司提供的一款关系型数据库管理系统,广泛应用于企业级的数据存储和管理。为了与Java应用程序进行交互,我们需要使用特定的驱动程序,这就是SQL Server驱动。本文将详细介绍SQL Server官方...

    Java调用SQL存储过程详解.docx

    在Java编程中,调用SQL存储过程是数据库操作中的常见任务,这有助于提高应用程序的效率和性能。Java通过`CallableStatement`接口提供了调用存储过程的功能,使其能够适应不同的数据库管理系统(DBMS)。下面将详细...

    ms sql 驱动包(sqljdbc.jar 和jtds.jar)

    在IT领域,数据库连接是应用程序与数据库交互的关键环节。在这个场景中,我们关注的是在Linux环境下,使用Kettle工具连接Microsoft SQL Server时所需...在实际操作中,确保正确配置驱动包,以确保你的ETL过程流畅无误。

    jtds sql2005 java驱动

    【标题】"jtds sql2005 java驱动"涉及的是Java开发中与数据库连接相关的技术,特别是针对Microsoft SQL Server 2005的连接。JDBC(Java Database Connectivity)是Java语言中用于访问数据库的标准API,而jTDS是一款...

    JAVA调用存储过程

    ### JAVA调用存储过程知识点详解 #### 一、无结果集返回的存储过程调用 在Java中调用不返回结果集的存储过程时,主要使用`CallableStatement`对象配合预定义的SQL语法来实现。这里以SQL Server 2000数据库为例,并...

    jtds1.25和1.2.2两个版本

    在将Microsoft SQL Server(简称mssql)的数据迁移到Oracle时,可能需要特定的插件来帮助完成这个过程,而JTDs可能在这个过程中作为桥梁,允许SQL Developer与SQL Server进行通信。 标签“mssql数据库迁移到oracle...

    mssql驱动程序-jtds-1.3.1

    jTDS 是第三方开源的SQL Server/Sybase数据库的JDBC驱动程序,性能最好最稳定。适用于Microsoft SQL Server(6.5到2012年)和Sybase ASE的开源JDBC 3.0 Type 4驱动程序。jTDS是JDBC 3.0规范的完整实现,也是MS SQL ...

    DBeaver连接MSSQL驱动

    2. 数据查询:在连接到MSSQL后,你可以使用SQL编辑器编写查询语句,查看和操作表、视图、存储过程等数据库对象。DBeaver还提供了数据浏览、数据编辑、数据导入导出、数据库结构设计等多种功能。 3. 性能优化:...

    JTDS和JDBC连接Sybase数据库

    JTDS(Java JDBC Driver for Sybase and Microsoft SQL Server)是一个开源的JDBC驱动,它允许Java开发者利用JDBC API来访问和操作Sybase数据库,同时也支持Microsoft SQL Server。 JDBC(Java Database ...

    java链接数据库jtds和sqljdbc

    这里我们将深入探讨使用JDBC(Java Database Connectivity)驱动程序jTDS和sqljdbc来连接到数据库的过程,以及它们各自的特点和使用场景。 首先,JDBC是Java平台的一个标准接口,它允许Java应用程序与各种类型的...

    mysql,mssql连接java驱动

    在Java编程中,数据库连接是不可或缺的部分,尤其是对于MySQL和Microsoft SQL Server这样的关系型数据库管理系统。本文将深入探讨如何在Java应用程序中使用相应的驱动程序连接到MySQL和MSSQL服务器。 首先,我们来...

    kettle连接mssql,jar包

    ### Kettle连接MSSQL使用JTDs驱动详解 #### 一、Kettle与MSSQL简介 1. **Kettle简介**: - **Pentaho Data Integration(PDI)**,通常被称为Kettle,是一款开源的数据集成工具,用于执行ETL(Extract-Transform-...

    jtds JDBC连接驱动

    3. **功能完备**:提供包括存储过程、事务处理、并发操作在内的所有标准JDBC功能,并支持一些特定于SQL Server的特性,如SSPI(Security Support Provider Interface)身份验证。 4. **内存管理**:相较于官方驱动,...

    sql2005/sql2008驱动包(sqljdbc与jtds-1.2.5两种)

    这里我们关注的是SQL Server 2005和2008数据库的Java连接驱动,具体包括sqljdbc与jtds-1.2.5两种。这两种驱动包允许Java应用程序通过JDBC(Java Database Connectivity)接口与SQL Server进行通信。 首先,让我们...

    过第三方JDBC驱动包JTDS连接SQLServer2005Demo

    在【如何通过JTDS连接SQLServer2005】这个压缩包文件中,可能包含了上述步骤的详细说明、示例代码或者更深入的JTDS使用教程,可以帮助你更好地理解和实践这个过程。学习并掌握这种连接方式,将有助于你在实际开发中...

    JTDS连接数据库分享.rar

    JTDS(Java Thin Database Driver for SQL Server)是一种开源的JDBC驱动程序,专门用于与Microsoft SQL Server和Sybase ASE数据库进行交互。这个压缩包“JTDS连接数据库分享.rar”包含了几个关键组件,可以帮助用户...

    java jtds连接数据库

    JTDs(Java Thin Database Driver)是一个开源的 JDBC 驱动程序,它提供了轻量级、高性能的连接选项,尤其在处理SQL Server和Sybase数据库时。 JDBC(Java Database Connectivity)是Java平台的标准接口,允许Java...

    jtds驱动包 net.sourceforge.jtds.jdbc.Driver

    - **全面的功能支持**:支持存储过程、触发器、事务处理、批处理、游标、索引等功能,以及Unicode字符集和大型对象(如BLOB和CLOB)。 - **高级特性**:提供了SSL加密、自动重连、数据库别名、自动类型映射等...

    jtds 1.2.2

    JTDs 1.2.2还支持多种高级特性,如支持存储过程、事务处理、批处理、游标、预编译语句以及JNDI查找等。这些特性使得JTDs不仅适用于简单的数据访问,也能满足复杂的数据库操作需求。 在实际应用中,开发者可以通过...

Global site tag (gtag.js) - Google Analytics