Jtds - Connection refused: connect

Ola meus companheiro JavaBoys estou precisando da ajuda de voces para que eu possa solucionar um pequeno problema, que esta me deixando muito louco.

estou fazendo uma migracao de um sistema antigo (que e de outra empresa), para um sistema que foi desenvolvido pela empresa que eu trabalho.

o banco de dados que o sistema antigo usa e sql server 2000 entao, fiz uma classe para fazer a migracao dos dados. so que ao tentar conectar estou recebendo o seguinte erro: Connection refused: connect

e nem imagino como resolver, pois ja tentei varias sugestoes, inclusive algumas achei aqui, porem todas sem sucesso. por isso resolver postar essa duvida aqui espero que alguem possa me ajudar

abaixo codigo da minha classes

                private static Connection con;
		try {

			Class.forName("net.sourceforge.jtds.jdbc.Driver");

            con = (Connection) DriverManager.getConnection("jdbc:jTDS:sqlserver://localhost:1433/Escolar2010","sa","");
            
            migrarAlunos();
            
        }
        catch (SQLException e) {
          System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%  Falha na Conexão!");
          e.printStackTrace();
        }            
        catch (ClassNotFoundException e) {
          System.out.println("Classe de Driver Não Localizada!");
          e.printStackTrace();
		}

e quando executo que chega na linha de obter a conexao eu recebo o seguinte erro

%%%%%%%%%%%%%%%%%%%%%%%%%  Falha na Conexão!
java.sql.SQLException: Network error IOException: Connection refused: connect
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:385)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
	at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182)
	at java.sql.DriverManager.getConnection(DriverManager.java:620)
	at java.sql.DriverManager.getConnection(DriverManager.java:200)
	at br.com.linkzsistemas.linkztraining.util.RoboMigracaoMerito.main(RoboMigracaoMerito.java:55)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:316)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:177)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:164)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:154)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:354)
	at java.net.Socket.connect(Socket.java:574)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:613)
	at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:304)
	at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:255)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:310)
	... 5 more

entao pessoal conto com a ajuda de voces.

de ja deixo aqui o meu agredecimento…

Você esta migrando a base de dados para uma versão nova do SQL Server ou esta utilizando a versão antiga? Existe um utilitário no SQL Server SQL chamado: Server Configuration Manager. Nele você deve configurar a porta que você está utilizando que é a 1433.

Tenta verificar se é isso que esta ocasionando o problema.

Bom dia paulofafism, não eu não estou migrando para um versao mais nova do SQL Server, sim para Mysql, pois e como eu expliquei estou migrando um sistema de terceiros para o sistema um novo sistema que a empresa que eu trabalho desenvolveu, e eu fiquei encubido de fazer essa migracao.

e quanto a porta utilizada estou usado a 1433 mesmo.

Você está tentando conectar no SqlServer ou MySql?
Verifique se o banco está rodando.

paulofafism estou tentando conectar ao Sql Server, quanto ao Mysql consigo conectar sem problema.

e quanto à sua observacao wellington.nogueira da string “jdbc:jTDS:sqlserver” esse ai e o padrao do jtds mas pode ser usado tambem como voce postou “jdbc:jtds:sqlserver”, e inclusive ja tentei assim tambem. na documentacao do jtds diz que quando esse erro ocorre realmente e por causa de falha na conexao, porem eu garanto que o usuario e senha sao esses mesmo. usuario padrao “sa” e senha em branco. é exatamente por isso que eu estou encabulado pois nao consigo enteder o realmente motivo deste erro. Seria alguma configuracao no Sql Server que esta barrando a minha conexao ?

Infelizmente parace ser um beco sem saida…

o banco esta na minha maquina mesmo. entao ja foi reiniciado varias vezes.

e eu ja tentei com o proprio drive da microsoft. so nao estou lembrado qual era o erro que dava com o drive deles

Você trabalha com instancia no sql server?

Se sim, use no final da sua string de conexão:

;instance=NOME_DA_INSTANCIA

não trabalho com instanciano SQL Server, ou melhor eu nao trabalho com SQL Server.
Esta conexao servirá apenas para me fazer a migracao dos dados.

acho que a alternativo que vou adotar, e procurar um ferramenta para migrar os dados do sql server para o mysql e de la mesmo, alimentar o meu banco.

porem seria bom se eu conseguisse resolver esse problema, pois ai serviria como lições aprendidas, para mim e para mais alguem que venha a ter esse problema.

Tente fazer como foi feito no link abaixo: namedpipe=true

http://www.guj.com.br/posts/list/141520.java

tentei igual o companheiro guilherme recomendou, pelo ao menos o erro mudou

java.sql.SQLException: Network error IOException: \localhost\pipe\sql\query (Você não foi conectado porque existe um nome duplicado na rede. Vá para 'Sistema' no 'Painel de controle' para alterar o nome do computador e tente novamente) at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:385) at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50) at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182) at java.sql.DriverManager.getConnection(DriverManager.java:620) at java.sql.DriverManager.getConnection(DriverManager.java:200) at br.com.linkzsistemas.linkztraining.util.RoboMigracaoMerito.main(RoboMigracaoMerito.java:55) Caused by: java.io.FileNotFoundException: \localhost\pipe\sql\query (Você não foi conectado porque existe um nome duplicado na rede. Vá para 'Sistema' no 'Painel de controle' para alterar o nome do computador e tente novamente) at java.io.RandomAccessFile.open(Native Method) at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233) at java.io.RandomAccessFile.<init>(RandomAccessFile.java:118) at net.sourceforge.jtds.jdbc.SharedLocalNamedPipe.<init>(SharedLocalNamedPipe.java:61) at net.sourceforge.jtds.jdbc.ConnectionJDBC2.createNamedPipe(ConnectionJDBC2.java:467) at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:307) ... 5 more

ah e tambem ja resolve a advertencia que ele fez. sobre o nome duplicado.

so que continua dando o mesmo erro.

Já tentou desabilitar o Firewall ?
Derrepente ele está bloquando a porta…

Significa que algo foi feito errado nos parâmetros de conexão.

Ou o usuário, ou a senha, o nome completo do driver (“net.sourceforge.jtds.jdbc.Driver”) ou a URL está errada (aliás, verifique a string “jdbc:jTDS:sqlserver” se não é “jdbc:jtds:sqlserver”.

[quote=Welson Santos]paulofafism estou tentando conectar ao Sql Server, quanto ao Mysql consigo conectar sem problema.

e quanto à sua observacao wellington.nogueira da string “jdbc:jTDS:sqlserver” esse ai e o padrao do jtds mas pode ser usado tambem como voce postou “jdbc:jtds:sqlserver”, e inclusive ja tentei assim tambem. na documentacao do jtds diz que quando esse erro ocorre realmente e por causa de falha na conexao, porem eu garanto que o usuario e senha sao esses mesmo. usuario padrao “sa” e senha em branco. é exatamente por isso que eu estou encabulado pois nao consigo enteder o realmente motivo deste erro. Seria alguma configuracao no Sql Server que esta barrando a minha conexao ?

[/quote]

Tranquilo,
É que quando utilizei o jtds, usei tudo minusculo mesmo.
É interessante, talvez, revisar a url “://localhost:1433/Escolar2010”. Verifique o estado da porta, se o nome da base está correto, troque o localhost pelo nome da máquina.
Infelizmente a exceção é demasiadamente genérica e acaba por não ajudar muito…

[quote=Welson Santos]Infelizmente parace ser um beco sem saida…[/quote]Não sei se é possível ou se já tentou mas tente reiniciar a máquina onde está o SQLServer…

É um sistema microsoft, logo tudo resolve-se reiniciando o equipamento :P

Outras formas de conectar-se ao servidor funcionam normalmente? Tente trocar o Driver JDBC, há um outro (não lembro o nome agora) específico também para SQL Server.