Conexão com SQL Server 2005

12 respostas
C

Pessoal, boa noite!!!

Estou tentando fazer conexão com o banco de dados SQL Server 2005, JDBC, mas não estou conseguindo.

Adicionei os seguintes JARs em meu projeto:

- msbase.jar;
- mssqlserver.jar;
- msutil.jar
- sqljdbc.jar;

Não sei se eu adicionei coisa demais ou se é vacilo no código:

import java.sql.*;
     
public class ConDBSQL {

	public static void main(String args[]) {
		  
		// Criando as variáveis de conexão e de statement
		Connection con;
		Statement stmt;
        String query = "select name , id from sysobjects";
	
		// Verificando se o driver JDBC está instalado e pode ser utilizado
		try {
			Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  

		} catch(java.lang.ClassNotFoundException e) {
			System.err.print("ClassNotFoundException: "); 
			System.err.println(e.getMessage());
		}

		try {
         // Abrindo a conexão com o servidor MAURO, login sa e sem senha
                 		con = DriverManager.getConnection("jdbc:microsoft:sqlserver://ATHLON64");
			stmt = con.createStatement();							
			// Criando a instrução a partir do SELECT que  está dentro da variável query
			ResultSet rs = stmt.executeQuery(query);
	        System.out.println("Lista de linhas da tabela sysobjects:");
		
		// Fazendo um loop para mostrar tudo o que foi retornado do banco
	        while (rs.next()) {

	        	// Obtendo o campo name em um string
	        	String s = rs.getString("name");
	        	// Obtendo o campo id em um inteiro
	        	int i = rs.getInt("id");
	        	System.out.println(s + "   " + i);
	        }
	
	        //Fechamdno a instrução e a conexão
			stmt.close();
			con.close();
		} catch(SQLException ex) {
			System.err.println("SQLException: " + ex.getMessage());
		}
	}
}

Como eu não tenho User Name e nem Password, eu não coloquei na URL. Eu faço conexão no SQL Server usando Windowns Authentication.

Como que eu faço pra conectar no java usando Windowns Authentication?
O que eu tenho que passar no URL?
Estão certos os .jars?

Está dando o erro: SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

Grato!

Cristiano

12 Respostas

C

Alguém pode me ajudar?

Cristiano

C

:arrow: :sad:

M

Opa,

estes drivers são os apropriados para o SQLServer 2005? ATHLON64 é o nome do servidor onde está a o servidor SQLServer 2005? Se estiver usando o ruiwindows xp, veja se ele é compatível com esta versão, eu por exemplo tive o maior problema para conectar com sqlserver 2000 devido a versões.

:okok:

V

Esses arquivos funcionam perfeitamente no sql server 2000, mas para algumas consultas no 2005 ele dá erro, mas deveria conectar pelo menos. Um drive que utilizo e que funciona nos dois é o jtds .

C

Victor,

No no caso de usar o jtds, eu tenho que adicionar só ele no meu projeto ou tenho que adicionar os outros (msbase.jar; mssqlserver.jar;msutil.jar) também?

ATHLON64 é o nome da minha máquina que no caso é o servidor…

Estou usando ruindowns XP…

Aguardo retorno…

Cristiano

V

cristianomario,
Na verdade eu usava esses que você estava tentando, o que eu fiz foi incluir a jtds-1.2.jar, agora que você perguntou eu fui no server e tirei as outras e mesmo assim cfuncionou, ou seja só precisa do jtds-1.2.jar e alterar a sua conexão para:

DriverManager.getConnection("jdbc:jtds:sqlserver://"+ server +":"+  portaserver +";DatabaseName="+ nomedobanco +"; SelectMethod=Cursor;User="+ usuario+"; Password="+ senha+"; SelectMethod=cursor");
C

Entendi, victorpinto.

Mas no meu caso eu não tenho Username, nem Password, nem portaserver.

Se passar os seguintes parâmetros:

DriverManager.getConnection(“jdbc:jtds:sqlserver://”+ server +";DatabaseName="+ nomedobanco +"; SelectMethod=Cursor; SelectMethod=cursor");

funcionaria?

Eu logo no SQL Server através do Windows Authentication. Quando eu seleciono esta opção, eu não preciso colocar User Name e Password.

Será que funciona com este código que eu citei acima?

Obrigado!!!

Cristiano

M

Precisa destas informações sim, geralmente a porta padrão é 1433 e sempre há um usuário sa, aí converse com seu administrador do banco para passar a senha deste usuário ou crie um novo. A última opção é a mais recomendada.

:okok:

C

Ok, marcossousa!!!

Mas é o seguinte,

Isso tudo que eu estou querendo fazer é em minha casa, não é em empresa nem nada… Estou utilizando o meu computador pra tentar conectar SQL Server 2005. Com isso, eu não tenho senha e nem password, pois eu faço a conexão via Windowns Authentication, que é a opção default quando você abre o SQL Server 2005.

Grato!!!

Cristiano

V

Se eu não me engano a senha default do sql para o usuário sa é vazia, na hora de colocar a senha passe uma string vazia (""). Veja se funciona.

C

Ok, Victor!!!

Vou tentar em casa e respondo o que que aconteceu depois.

Muito obrigado!!!

Cristiano

M

Salve,

Desculpe, mas assim você não irá conseguir conectar. Você tem que definir a autenticação do tipo Windows Authentication and Sql Server Authentication.

:okok:

Criado 10 de julho de 2006
Ultima resposta 12 de jul. de 2006
Respostas 12
Participantes 3