oliver

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

          正在做一個(gè)獵頭系統(tǒng),今天遇到了一個(gè)問題,異常信息如下:
          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)
          在網(wǎng)上查了一下原來是驅(qū)動(dòng)的問題,網(wǎng)友給了說明和解決方案:

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

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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 台山市| 金湖县| 安乡县| 漾濞| 东兴市| 平阳县| 临桂县| 肥西县| 高要市| 巧家县| 沧源| 丘北县| 榆林市| 梧州市| 宜昌市| 怀宁县| 罗源县| 巨鹿县| 天津市| 海晏县| 潼南县| 神农架林区| 高台县| 当雄县| 岱山县| 循化| 十堰市| 治多县| 江津市| 同江市| 潮安县| 桦甸市| 孝昌县| 治多县| 西城区| 金门县| 信丰县| 西畴县| 丁青县| 开阳县| 蒲城县|