Outra causa para o maldito erro “Não é possível abrir mais tabelas” do MS Access com JDBC ODBC Bridge!

Access Malvado!

Como sempre, o Access apronta das suas comigo. Quando achava que já tinha resolvido todos os problemas relacionados ao maldito problema “Não é possível abrir mais tabelas” (veja este link), encontrei outra possível causa para o mesmo no StackOverflow.

O que pode ocorrer é o seguinte: há situações nas quais o seu cliente pode perder conexões com a rede. Quando a conexão é fechada, não necessáriamente é liberado o socket de conexão com os arquivos de conexão com o Access até que seja executado o coletor de lixo do Java.

Ou seja: você fecha a sua conexão, assim como todas as suas instâncias de PreparedStatements e ResultSets, define-as como null mas o driver ainda não as fechou porque perdeu conexão com a rede momentaneamente.

Como picos de rede são comuns em ambientes mais complexos (e não tão complexos assim), a solução é a seguinte: ao trabalhar com Access e Java, execute o garbage colector de tempos em tempos para garantir que as conexões fechadas e nulificadas sejam de fato fechadas no driver ODBC.

A minha pergunta relacionada no StackOverflow pode ser vista aqui com ainda mais detalhes.


Publicado

em

, ,

por

Tags:

Comentários

5 respostas para “Outra causa para o maldito erro “Não é possível abrir mais tabelas” do MS Access com JDBC ODBC Bridge!”

  1. Avatar de Heaven
    Heaven

    Mais um motivo para nunta ter aceito trabalhar com projetos utilizando Access.

    1. Avatar de admin
      admin

      Te invejo. Lido com Access diáriamente…

      1. Avatar de Heaven
        Heaven

        Que azar, hein.

        Pelo menos tenho sorte nisso, na empresa que trabalho atualmente é só mysql na cabeça (uma maravilha de DB para web) e a próxima empresa que vou trabalhar só é apenas Postgres.

        Mas é estranho trabalhar com Access no JDBC, o ideal (que nunca acontece) seria trabalhar usando o próprio .net que tem melhor integração, pois parece que ultimamente a Microsoft tem pegado bastante no pé da tecnologia Java e tornando a integração de seus produtos com a mesma tecnologia cada vez pior.

        1. Avatar de admin
          admin

          Pois então pasme: eu lido com Access 97 (doeu só de ouvir né?) :)

          1. Avatar de Heaven
            Heaven

            0_0

            Realmente doeu nos olhos e no ouvido, meus parabens você é um super herói, o Access 97 é de fato assustador, mas até compreendo por causa da época.

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.