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
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.
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 ?
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.
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
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.