Conexão JDBC ao SQL Server 2000

Atenção, este blog foi migrado para: http://brunopereira.org

Como falei anteriormente, estou usando o SQL Server 2000 para um projetinho freela. Para me conectar ao SQL Server, baixei o driver jdbc jtds, pois li que ele funciona melhor que o driver jdbc fornecido pela Microsoft. Isto não me surpreende muito, pois a Microsoft não deve ter muito interesse em alavancar o uso de Java com o SQL Server, preferindo sempre empurrar o uso de .NET.Pois bem, eu estava tendo problemas para me conectar ao SQL Server via jdbc. Inicialmente o problema parecia ser da forma de autenticação, pois o servidor foi instalado com as opções default e as configurações padrão especificavam autenticação pelo Windows somente, sem autenticação pelo SQL Server. Eu encontrei na internet várias referências dizendo que os drivers jdbc para o SQL Server 2000 não suportam autenticação pelo Windows, então habilitei também a autenticação pelo banco de dados.

Após habilitar a autenticação pelo banco de dados, eu continuava sem conseguir conectar. Os problemas eram sempre os mesmos, e a mensagem de erro era essa aqui: “An error occurred while establishing the connection: Type: java.sql.SQLException Error Code: 0 SQL State: 08S01
Message: Network error IOException: Connection refused: connect”
. Procurando por esse erro, encontrei algumas referências sugerindo conferir se o servidor estava configurado para permitir acesso por TCP/IP, e no meu caso estava sim.

Como eu não estava conseguindo conectar de forma alguma usando TCP/IP, tentei conectar através de named pipes, e funcionou. Minha URL de conexão com o uso de named pipes ficou da seguinte forma: jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=sistema_cms;namedPipe=true

Ah, um detalhe importante. Ao tentar usar essa URL com localhost em vez de 127.0.0.1 , eu recebia um erro dizendo que o nome da máquina não era encontrado na rede. Colocando o hostname correto da máquina (no meu caso, blpsilva-vostro) funcionou sem problemas também. Possivelmente esta solução que utilizei não é a melhor possível para situações mais críticas. Entretanto, para o meu caso esta solução excede bastante o “good enough”, então fiquei com ela mesmo.

OBS: Esse template do WordPress tem o péssimo hábito de eventualmente cortar algumas frases que não caibam na largura da área central . Para não prejudicar a leitura aqui, segue abaixo novamente o nome do último parâmetro da URL jdbc:

namedPipe=true

7 respostas para Conexão JDBC ao SQL Server 2000

  1. Rafael disse:

    Caro Bruno!
    Seu post foi EXTREMAMENTE útil para minha equipe
    na empresa em que trabalho.
    Estávamos com este problema e não achávamos o erro!
    Agora está tudo certo!
    Obrigado

  2. blpsilva disse:

    Opa, fico contente que isto tenha sido útil. Realmente é meio chatinho isso. Qualquer coisa, já sabe onde me encontrar😉

  3. Juan Carlos disse:

    Obrigado pela informação estava com o problema de tcp/ip também e sem tempo de solucionar.

    Atenciosamente

    Juan Carlos

  4. Marcelo Gomes disse:

    E isso funciona para autenticação via windows…
    Caso não, como ficaria para conexão com autenticação do windows…

  5. manoel neto disse:

    bruno, vc salvou minha vida… fazia tempo que tava com este problema, e ja tinha feito de tudo, habilitei portas no firewall, e nada resolvia, nao sei que gargalo eh esse, mas pelo namedpipe resolveu. obrigado.

  6. Mateus disse:

    Bruno, eu sei que o blog foi movido e talz, mas deixo aqui meus parabéns pelo post!! Informaçãozinha chata de achar!

  7. Anderson disse:

    Bruno, muito obrigado! Suas informações foram muito úteis para construção do meu projeto. Deus te abençoe.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: