日期:2014-05-16  浏览次数:20587 次

jtds驱动 代替 jdbc驱动
http://njm.iteye.com/blog/643790

由于jdbc中的bug(如返回text类型数据长度为0)则程序会报错。
异常如下:
Java代码 
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes 

微软错误确认:
引用
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;894559

解决办法:
一、在程序中添加try/catch手动捕获处理一下。
二、sql语句中设默认值如 ' ' 而不是 '' 。
三、弃jdbc驱动改用jtds驱动。
    jtds目前版本为1.2.5。官网下载:
引用
http://sourceforge.net/projects/jtds/files/

    本地下载:
引用
http://dl.iteye.com/topics/download/b2963b39-6a28-322a-820c-7efa662cb900


两种连接字串比较:
//jdbc方式sql2000
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=JGXT";
           
//jtds方式
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String url = "jdbc:jtds:sqlserver://localhost:1433/JGXT";


String user="******";
String password="******";
Connection conn= DriverManager.getConnection(url, user, password);