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

  • 相关阅读:
    nginx 转发避免携带端口
    docker-compose 搭建php+nginx+mysql+redis
    20+个JavaScript单行代码
    IaaS,PaaS,SaaS 的区别
    C# String和StringBuilder的区别
    Vue基本语法
    Gitee仓库使用方法
    6个实例详解如何把if-else代码重构成高质量代码
    Redis常见问题
    winform程序打包成exe文件
  • 原文地址:https://www.cnblogs.com/cb168/p/4202852.html
Copyright © 2011-2022 走看看