Error conexao com sqlserver 2008

13 respostas
cassiombc

Galera, estou tentando conectar minha db com o eclipse mas ainda n consegui meu código é o seguinte:

package Eventos;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Jdbc {
	public static void main(String args[]) {

		Connection con = null;
		Statement stm;
		ResultSet msql;

		String jdbcdriver = "net.sourceforge.jtds.jdbc.Driver";
		String databaseurl = "jdbc:jtds:sqlserver:/localhost:1433/Eventos;user=dell;password=;";
		try {
			Class.forName(jdbcdriver);
			System.out.println("Driver Carregado!!!!!");
			con = DriverManager.getConnection(databaseurl);
			System.out.println("Conectado!!!!!");

		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}

		if (con != null) {
			try {
				con.close();
			} catch (Exception e) {
				e.printStackTrace();

			}

		}
	}
}

e o erro é esse

Driver Carregado!!!

java.sql.SQLException: Network error IOException: Connection refused: connect

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:410)

at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50)

at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at Eventos.Jdbc.main(Jdbc.java:21)

Caused by: java.net.ConnectException: Connection refused: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(Unknown Source)

at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:307)

at net.sourceforge.jtds.jdbc.SharedSocket.(SharedSocket.java:257)

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:311)

 5 more

13 Respostas

hugo.hlcxcx
Sua URL de conexão está errada. Falta uma barra depois do sqlserver.

Sua URL de conexão está errada. Falta uma barra depois do sqlserver.

drsmachado
//Ao invés disso
String databaseurl = "jdbc:jtds:sqlserver:/localhost:1433/Eventos;user=dell;password=;";   

//Use isso
String databaseurl = "jdbc:jtds:sqlserver://localhost:1433/Eventos;user=dell;password=;";
cassiombc

Ja alterei e da a mesma coisa

W

Vc esta conectando no banco na mesma maquina??

Esta usando Integrated Security??? Se tiver, vc pode remover username e password e fazer:

String databaseurl = "jdbc:jtds:sqlserver://localhost:1433/Eventos;integratedSecurity=true;"

Outra coisa importante, o seu banco esta configurado para aceitar conexao TCP ???

//Daniel

cassiombc

Estou conectando na mesma maquina, mas o que é esse integratedSecurity?
Nunca ouvi falar.

E

Esse é erro porq não está consegui conectar, a conexão TCP/IP deve estar bloqueada

Dá uma olhada neste tópico :wink:

http://www.guj.com.br/java/258947-erro-conectando-sql-server-2008#1350376

abs,

Evandro

W

cassiomedeiros:
Estou conectando na mesma maquina, mas o que é esse integratedSecurity?
Nunca ouvi falar.

Vai no Sql Server Configuration Manager e veja se TCP esta enabled.

//Daniel

cassiombc

ja ativei mas não adianta de nada,

eu alterei o codigo e fiza assim,

package Eventos;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Jdbc {
	public static void main(String args[]) {

		Connection con = null;
		Statement stm;
		ResultSet msql;

		String jdbcdriver = "net.sourceforge.jtds.jdbc.Driver";
		String databaseurl = "jdbc:jtds:sqlserver://192.168.0.1:1433/Eventos";
		String user="dell";
		String password="";
		try {
			
			Class.forName(jdbcdriver);
			System.out.println("Driver Carregado!!!!!");
			con = DriverManager.getConnection(databaseurl,user,password);
			System.out.println("Conectado!!!!!");

		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}

		if (con != null) {
			try {
				con.close();
				System.out.println("Conexão fechada");
			} catch (Exception e) {
				e.printStackTrace();

			}

		}
	}
}

E o erro agora é

Driver Carregado!!!

java.sql.SQLException: Network error IOException: Connection timed out: connect

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:410)

at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50)

at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at Eventos.Jdbc.main(Jdbc.java:24)

Caused by: java.net.ConnectException: Connection timed out: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(Unknown Source)

at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:307)

at net.sourceforge.jtds.jdbc.SharedSocket.(SharedSocket.java:257)

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:311)

 5 more
hugo.hlcxcx

Troque o IP para 127.0.0.1 e veja se a porta está correta.

cassiombc

se eu colocar a string assim:

String databaseurl = "jdbc:jtds:sqlserver://localhost:1433/Eventos;namedpipe=true";

o erro é

Driver Carregado!!!

java.sql.SQLException: Network error IOException: \localhost\pipe\sql\query (Não é possível alcançar o local da rede. Para obter informações sobre solução de problemas de rede, consulte a Ajuda do Windows)

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:410)

at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50)

at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at Eventos.Jdbc.main(Jdbc.java:22)

Caused by: java.io.FileNotFoundException: \localhost\pipe\sql\query (Não é possível alcançar o local da rede. Para obter informações sobre solução de problemas de rede, consulte a Ajuda do Windows)

at java.io.RandomAccessFile.open(Native Method)

at java.io.RandomAccessFile.(Unknown Source)

at java.io.RandomAccessFile.(Unknown Source)

at net.sourceforge.jtds.jdbc.SharedLocalNamedPipe.(SharedLocalNamedPipe.java:61)

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.createNamedPipe(ConnectionJDBC2.java:489)

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:308)

 5 more
cassiombc

Minha porta dinamica se encontra 0
mas o tcp eu estou mantendo desativado pois quando ativo esta acontencendo o mesmo error

hugo.hlcxcx

Seu banco possui instância ? Se sim, vc deve colocar ela na url:

cassiombc

eu modifiquei e ele deu o error

Driver Carregado!!!

java.sql.SQLException: Unable to get information from SQL Server: 127.0.0.1.

at net.sourceforge.jtds.jdbc.MSSqlServerInfo.(MSSqlServerInfo.java:97)

at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:276)

at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50)

at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at Eventos.Jdbc.main(Jdbc.java:24)

ai eu ativei as portas tcp e o mesmo erro foi gerado.
despois desativei novamente

Criado 7 de dezembro de 2011
Ultima resposta 7 de dez. de 2011
Respostas 13
Participantes 5