oliver

          今天遇到了[SQLServer JDBC Driver]ResultSet can not re-read錯誤!

          正在做一個獵頭系統,今天遇到了一個問題,異常信息如下:
          java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 1.
          at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
          at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
          at com.microsoft.jdbc.base.BaseResultSet.validateColumnIndex(Unknown Source)
          at com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
          at com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
          at org.jboss.resource.adapter.jdbc.WrappedResultSet.getString(WrappedResultSet.java:878)
          at org.hibernate.type.StringType.get(StringType.java:18)
          at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)
          at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)
          at org.hibernate.loader.hql.QueryLoader.getResultColumnOrRow(QueryLoader.java:345)
          at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:595)
          at org.hibernate.loader.Loader.doQuery(Loader.java:689)
          at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
          at org.hibernate.loader.Loader.doList(Loader.java:2145)
          at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
          at org.hibernate.loader.Loader.list(Loader.java:2024)
          at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:392)
          at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:333)
          at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
          at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
          at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
          at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:53)
          at com.eas.base.basesys.commonquery.server.QueryEngineControllerBean.executeQuery(QueryEngineControllerBean.java:88)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
          at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
          at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
          at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
          at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:225)
          at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
          at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
          at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
          at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
          at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
          at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:412)
          at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
          在網上查了一下原來是驅動的問題,網友給了說明和解決方案:

          (1)如果你采用jdbc-odbc驅動。那么只能告訴你,你必須按照查詢的順序去獲取順序的字段。如果打亂順序,或重復查詢同一列,將會獲取null或拋出上面的異常。
          (2)如果你采用weblogic jdriver驅動。那么將不支持jdbc2.0 method。
          (3)如果你采用MS自己的JDBC驅動。那么在查詢語句中不包含blob或clob字段(就是Image和Text類型)的時候,查詢是支持re-read方式的,可以非順序查詢。但是一旦包含的blob或clob字段。那么就必須按照順序查詢,且不支持重復查詢。
          解決這個問題建議換個功能全點的驅動,要不就不要用blob或clob類型的字段。

          posted on 2007-12-08 23:25 oliver.kang 閱讀(695) 評論(0)  編輯  收藏 所屬分類: 數據庫


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 兴隆县| 泰来县| 建昌县| 桃源县| 惠东县| 长沙县| 墨竹工卡县| 巫溪县| 廊坊市| 上栗县| 鱼台县| 宽城| 二连浩特市| 广东省| 晴隆县| 甘肃省| 攀枝花市| 天等县| 阳朔县| 清丰县| 饶河县| 科尔| 浠水县| 滨州市| 乌海市| 芦山县| 宜昌市| 西乌珠穆沁旗| 和顺县| 阆中市| 高雄县| 建水县| 孟连| 衢州市| 韩城市| 宁蒗| 大安市| 土默特右旗| 湘潭市| 晴隆县| 惠水县|