环境:MyEclipse6.0、tomcat5.0、SqlServer2005、JDBC1.0
连接池:
<Context>
<Resource
name="JDBC/myJava_1"
type="javax.sql.DataSource"
auth="Container"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_test"
username="sa"
password="1234"
maxActive="4"
maxIdle="2"
maxWait="5000" />
</Context>
当需要使用Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
即ResultSet.rs.last();功能的时候报错:
Servlet.service() for servlet jsp threw exception
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知。当把JDBC1.0换成JDBC2.0 , 就是使用sqljdbc.jar和sqljdbc4.jar这2个包的时候,而不使用msbase.jar、mssqlserver.jar、msutil.jar这三个包来连接数据库的时候就能执行,没有错误。
现在我的想法是用JDBC1.0来实现这个ResultSet.rs.last();功能,而不报错,该怎么做?
连接池:
<Context>
<Resource
name="JDBC/myJava_1"
type="javax.sql.DataSource"
auth="Container"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_test"
username="sa"
password="1234"
maxActive="4"
maxIdle="2"
maxWait="5000" />
</Context>
当需要使用Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
即ResultSet.rs.last();功能的时候报错:
Servlet.service() for servlet jsp threw exception
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知。当把JDBC1.0换成JDBC2.0 , 就是使用sqljdbc.jar和sqljdbc4.jar这2个包的时候,而不使用msbase.jar、mssqlserver.jar、msutil.jar这三个包来连接数据库的时候就能执行,没有错误。
现在我的想法是用JDBC1.0来实现这个ResultSet.rs.last();功能,而不报错,该怎么做?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货