Esse ODBC é uma merlin

Cara estou tentando encontrar a real resposta para este erro à dias, encontrei algumas hipóteses, mas nenhuma confirmada…
Já me disseram que o erro estava em lançar mais de um get em ResultSet diferentes… já pediram pra trocar a JVM…e por aí vai…
O Bendito erro é o seguinte:

Olá

Desculpe mas não há “impóteses” de saber o que está acontecendo porque você não disse como este erro ocorre.

O que seu programa estava fazendo no momento do erro? Imprimiu algo? Tem logs? Já fez debug?

[]s
Luca

Caro amigo,

O problema ocorre quando o programa tenta conectar com o banco Sql Server via ODBC.

O problema ocorre na proporção 1/15 consulta.

O log detalhado do erro, já está no corpo da msg anterior.

Grato pela atenção.

Olá

Nada do que vou falar é o motivo do erro que nem parece ser exatamente no acesso ao banco de dados. Mas se você seguir minhas dicas, se o erro for no acesso ao banco ele será corrigido e o desempenho do programa melhorará MUITO.

  1. Se você acessa o SQLServer via ODBC, deve estar usando a ponde jdbc.odbc. Esta ponte foi um quebra galho feito pela Sun lá pelos idos do java 1.0 para ser usado em bancos de dados sem driver desenvolvido. Como quebra galho, ele é ruim e lento. Há muitos anos atrás a gente usava isto para acessar o falecido Access.

  2. Como vai pular fora do ODBC e da ponte jdbc.odbc, precisará de um driver para se conectar com o SQLServer (sei lá qual versão). A Microsoft tem um driver para o SQLServer 2000 mas dizem que é bugado (talvez de própósito). Então você deve usar o seguinte driver:
    jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver for Microsoft SQL Server (6.5, 7, 2000 and 2005)

  3. De qualquer modo coloque um logger na sua aplicação para quando ocorrer um erro deste ficar mais fácil achar a solução. O logger que eu falo é algo como o Log4J.

[]s
Luca