zoukankan      html  css  js  c++  java
  • java 执行sql错误 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知

    连接数据库时设置:Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.CONCUR_READ_ONLY);

    则会出现:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知。



    解决的办法一:将ResultSet.TYPE_SCROLL_INSENSITIVE 改成ResultSet.TYPE_FORWARD_ONLY就没有问题的,

    但是后面的ResultSet rs=...;

    rs.last();不支持 The requested operation is not supported on forward only result sets.所以还是版本驱动的问题

    解决办法二:驱动版本不对

    难道不是jdbc驱动问题??连接sql server的版本问题吗:sql2008数据库,用的还是2000的驱动?

    sql 2005

    driver

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 version

    URL

    jdbc:sqlserver://1.1.1.1;DatabaseName=mydb

    sql 2000

    Driver
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 version

    URL

    jdbc:microsoft:sqlserver://1.1.1.1;DatabaseName=mydb

    DriverManager.getConnection(connString, userName, password);

  • 相关阅读:
    写在最前面
    Bzoj 2281 [Sdoi2011]黑白棋 题解
    bzoj3125: CITY 题解
    CDQZ 集训大总结
    CDQZ集训DAY10 日记
    CDQZ集训DAY9 日记
    CDQZ集训DAY7 日记
    CDQZ集训DAY6 日记
    CDQZ集训DAY5 日记
    CDQZ集训DAY4 日记
  • 原文地址:https://www.cnblogs.com/cb168/p/4202852.html
Copyright © 2011-2022 走看看