2012-11-29 09:50:31,755 SEVERE [com.microsoft.sqlserver.jdbc.internals.TDS.Reader] (http-0.0.0.0-9999-1) ConnectionID:6 got unexpected value in TDS response at offset:982
2012-11-29 09:50:31,802 WARN  [org.hibernate.jdbc.AbstractBatcher] (http-0.0.0.0-9999-1) exception clearing maxRows/queryTimeout
com.microsoft.sqlserver.jdbc.SQLServerException: 该连接已关闭。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:319)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.checkClosed(SQLServerStatement.java:956)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getMaxRows(SQLServerStatement.java:989)
at org.jboss.resource.adapter.jdbc.WrappedStatement.getMaxRows(WrappedStatement.java:378)
at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:298)
at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:234)
at org.hibernate.loader.Loader.doQuery(Loader.java:749)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2228)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:312)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1722)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:175)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67)每次间歇出现这个错误,服务就挂掉了,必须重启。。求解

解决方案 »

  1.   


    驱动包这个试过了,包括换了JTDS的驱动包。还是这个问题
      

  2.   

     exception clearing maxRows/queryTimeout
    com.microsoft.sqlserver.jdbc.SQLServerException: 该连接已关闭。
    这里说查询超时,是不是不是库连接使用完了没有释放,或者查询的数据量太大或是数据库程序有问题。
      

  3.   

    看这个问题的提示是:该连接已关闭,是不是代码里使用查询结果的时候,hibernate的session已经关闭了?
      

  4.   


    程序里面用的事物托管的。EntityManager, 这个会自动释放内存的把。
      

  5.   

    是程序过了一段时间以后,,和数据连接关掉了。 hibernate 里面的session 我没强制关掉。都是事物托管的