难道没有人碰到这个问题?我觉得这是MS SQL的一个BUG,我用tds的那个驱动就没有这个问题,但是他又有另外的问题,那就是如果数据库中的字段为ntext类型时,他就说转换出错

解决方案 »

  1.   

    如果一个连接不能用,这时isClosed()方法可用吗?其实这样试一下就可以,你先用连接池连接上MS SQL数据库,然后你将MS SQL数据库关闭后,你再运行一下,让它连接一下数据库,就会报错,提示:connection reset by peer,socket rewrite error,如果这时你再打开MS SQL错误还会存在,你必须用isClosed()来检验连接是否可用而做处理,但是MS SQL DRIVER 的这个方法会失效
      

  2.   

    不行呢,conn当然不为空,只是有可能当前的连接因为网络故障或者其它的原因不可用呢,这个时候要检查一下这个连接是否可用,我看过MS SQL 驱动关于isClosed()方法的实现,它并没有检查当前的连接是否可用呢,它只是检查当前的连接实例是否存在,我觉得这个问题很重要呢