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
Java调用SQL存储过程详解.docx
jtds sql2005 java驱动,解压包,得到路径net....引用
jTDS 是第三方开源的SQL Server/Sybase数据库的JDBC驱动程序,性能最好最稳定。适用于Microsoft SQL Server(6.5到2012年)和Sybase ASE的开源JDBC 3.0 Type 4驱动程序。jTDS是JDBC 3.0规范的完整实现,也是MS SQL ...
linux 下kettle 连接sql server 必须要驱动包,MS SQL Server(Native) 对应sqljdbc.jar,MS SQL Server 对应jtds.jar 包。
注意,以下使用数据库为sql2000,驱动jtds1.2.2 一、调用存储过程(无结果集返回) Connection connection = ConnectionHelper.getConnection(); CallableStatement callableStatement = connection.prepareCall(...
它用于连接 Microsoft SQL Server(6.5,7,2000,2005,2008 和 2012)和Sybase(10 ,11 ,12 ,15)。 jTDS是基于freeTDS的,并且是目前最快的可企业级应用的SQL Server和Sybase的JDBC驱动程序。 jTDS完全与JDBC...
赠送jar包:mssql-jdbc-8.2.0.jre8.jar; 赠送原API文档:mssql-jdbc-8.2.0.jre8-javadoc.jar; 赠送源代码:mssql-jdbc-8.2.0.jre8-sources.jar; 赠送Maven依赖信息文件:mssql-jdbc-8.2.0.jre8.pom; 包含翻译后...
jdbc MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而...用于远程连接 sql server 执行sql语句,调取存储过程等
java链接数据库jtds和sqljdbc
JTDS连接SQLSERVER、Sybase数据库 博文链接:https://allenj2ee.iteye.com/blog/131277
java jtds连接数据库包括jtds-1.2.jar
String url = "jdbc:jtds:sqlserver://"+dbInfo.getIp()+":"+dbInfo.getPort()+"/" + dbInfo.getServiceName(); Class.forName("net.sourceforge.jtds.jdbc.Driver");
jtds驱动包 net.sourceforge.jtds.jdbc.Driver
将mssql数据库迁移到oracle上工具插件,工具是oracle的sqldeveloper,可以在oracle上免费下载。
jtds.jarjtds.jarjtds.jarjtds.jarjtds.jarjtds.jarjtds.jarjtds.jar
它用于连接 Microsoft SQL Server(6.5,7,2000,2005,2008 和 2012)和Sybase(10 ,11 ,12 ,15)。 jTDS是基于freeTDS的,并且是最快的可企业级应用的SQL Server和Sybase的JDBC驱动程序。
用于kettle连接sql server2008,kettle下载下来后没有相关数据库的驱动需要自己重新下载,连接sqlserver连不上,下载jtds.jar包放到kettle的libswt目录或者lib下,重新启动kettle即可。
mysql,mssql连接java驱动