传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确

传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知。(2012-02-25 16:42:08)
标签: 杂谈 分类: 技术 
今天将一个SQL2000备份的bak还原到SQL2005进行连接,抛出异常如下:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知。

    最后解决办法:

    1.下载SQL2005驱动包,链接地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=E22BC83B-32FF-4474-A44A-22B6AE2C4E17&displaylang=zh-cn

    2.解压后,将sqljdbc.jar拷贝到项目lib目录下,build path。



修改1:

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

修改2:

Connection con = DriverManager.getConnection("jdbc:sqlserver://<ServerName>;user=<UserName>;password=<Password>");//2005 version   
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://<ServerName>;user=<UserName>;password=<Password>");//2000 version  
Connection con = DriverManager.getConnection("jdbc:sqlserver://<ServerName>;user=<UserName>;password=<Password>");//2005 version Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://<ServerName>;user=<UserName>;password=<Password>");//2000 version


如:

//SQL2005 version   
connection.driver_class=com.microsoft.sqlserver.jdbc.SQLServerDriver   
Connection.url=jdbc:sqlserver://localhost:1433;DatabaseName=Hello 

猜你喜欢

转载自liangzedong.iteye.com/blog/1576876