Srs,
Estou com o seguinte problema, ao acessar o SQLServer 2000:
Qq ideia para solucao sera bemvinda.
Grato a atencao de todos,
    P.O.
 
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 4.
 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 com.wstools.silab.jsnapx.services.bancada.BancadaDAO.constructBancadaVO(BancadaDAO.java:107)
 at com.wstools.silab.jsnapx.services.bancada.BancadaDAO.getBancada(BancadaDAO.java:68)
 at com.wstools.silab.jsnapx.services.etiquetas.calcularnumeroetiquetas.CalcularNumeroEtiquetasServiceHandler.getBancadas(CalcularNumeroEtiquetasServiceHandler.java:105)
 at com.wstools.silab.jsnapx.services.etiquetas.calcularnumeroetiquetas.CalcularNumeroEtiquetasServiceHandler.doService(CalcularNumeroEtiquetasServiceHandler.java:55)
 at com.wstools.jsnap.JSnapServicesManager.doService(JSnapServicesManager.java:108)
 at com.wstools.jsnap.JSnapManagerImpl.doService(JSnapManagerImpl.java:157)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:324)
 at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:245)
 at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:245)
 at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
 at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:151)
 at org.apache.axis.SimpleChain.invoke(SimpleChain.java:118)
 at org.apache.axis.server.AxisServer.invoke(AxisServer.java:287)
 at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:541)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
 at org.apache.tomcat.core.Handler.service(Handler.java:287)
 at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
 at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
 at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
 at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
 at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
 at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
 at java.lang.Thread.run(Thread.java:536)
 
 
 
    bancadaVO.CO_ABM_AREA_TECNICA = resultSet.getInt("CO_ABM_AREA_TECNICA");
    bancadaVO.CO_INC_ABM_BANCADA = resultSet.getInt("CO_INC_ABM_BANCADA");
    bancadaVO.DS_OBSERVACOES = resultSet.getString("DS_OBSERVACOES");
    bancadaVO.NO_BANCADA = resultSet.getString("NO_BANCADA");
    bancadaVO.NU_ETIQUETAS_RECEPCAO = resultSet.getInt("NU_ETIQUETAS_RECEPCAO");
    bancadaVO.NU_ETIQUETAS_TRIAGEM = resultSet.getInt("NU_ETIQUETAS_TRIAGEM");
    bancadaVO.SG_BANCADA = resultSet.getString("SG_BANCADA");
 

Obs.: Todos os campos existem na tabela e estão com os nomes corretos.
Os tipos das colunas correspondem aos métodos de acesso (get) e aos tipos das variáveis do VO.
O erro surge qundo a segunda linha deste fragmento é chamada.
Ao comentá-la, a quarta linha dispara a exceção.
O resultset devolve true na chamada do metodo next() após a execução do preparedStatement.
Chamadas a metodos findColumn para as colunas acima devolvem corretamente o indice da coluna.

Responder a