今天将一个SQL2000备份的bak还原到SQL2005进行链接,抛出异常以下:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 1 (""): 数据类型 0x38 未知。java
最后解决办法:sql
1.下载SQL2005驱动包,连接地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=E22BC83B-32FF-4474-A44A-22B6AE2C4E17&displaylang=zh-cnsqlserver
2.解压后,将sqljdbc.jar拷贝到项目lib目录下,build path。ui
修改1:url
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 version
- Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 version
修改2:spa
- 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
如:server
- //SQL2005 version
- connection.driver_class=com.microsoft.sqlserver.jdbc.SQLServerDriver
- Connection.url=jdbc:sqlserver://localhost:1433;DatabaseName=Hello