Conexao Ms Sql Server 2000

7 respostas
S

Ola!

Estou tentando realizar conexao com o banco de dados MS Sql Server 2000 (IDE Eclipse, plataforma Windows) e retorna o seguinte erro:

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)

at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

at com.microsoft.jdbc.sqlserver.tds.TDSConnection.(Unknown Source)

at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)

at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)

at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)

at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)

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

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

at ConnectionFactory.main(ConnectionFactory.java:9)

Estou executando:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;
public class ConnectionFactory {

public static void main(String[] args) {

try {

Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);

Connection con = DriverManager.getConnection(jdbc:microsoft:sqlserver://SANDRO:1433”,“sa”,"");

System.out.println(Conectado);

con.close();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

Por favor, peço ajuda para entender o erro e como soluciona-lo
Obrigado

7 Respostas

erdanielli

Caro colega!

Alguns anos atrás eu participei de um projeto Java EE que envolvia o MS SQL Server 2000. A primeira dificuldade foi encontrar o driver JDBC apropriado. Eu utilizava o jTDS, opensource, e recomendo. Pra conectar, tente o seguinte:

...
   Class.forName("net.sourceforge.jtds.jdbc.Driver");
   Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://SANDRO:1433","sa","");
   System.out.println("Conectado");
   con.close(); 
...

Se o problema persistir, talvez vc precise utilizar namedPipes

...
Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://SANDRO:1433;namedPipe=true","sa","");
...

Para mais detalhes, confira o FAQ do jTDS

T

Normalmente você precisa habilitar, no SQL Server, se você pode fazer conexões TCP/IP ou não. Consulte a configuração do SQL Server para ver se esse tipo de conexões está habilitado no servidor ou não, e se está sendo usada a porta 1433 ou outra porta qualquer.

ricardospinoza
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, login sa e sem senha
        	//jdbc:microsoft:sqlserver://server1:1433;User=test;Password=secret
        	con = DriverManager.getConnection("jdbc:microsoft:sqlserver://ipOuNomeDoServidor:1433","usuarioBD","senhaBD");
        	
        	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 name = rs.getString("name");
        		// Obtendo o campo id em um inteiro
        		int i = rs.getInt("id");
        		
        		System.out.println(name + " " + i);

        	}
        	//Fechamdno a instrução e a conexão
        	stmt.close();
        	con.close();
        }
        catch(SQLException ex){
        	System.err.println("SQLException: " + ex.getMessage());
        }
	}
}

não esqueça de incluir no seu path o jar do sql server (em aneox) :-)

msutil.jar
mssqlserver.jar
msbase.jar

carlos_maia

Boa tarde pessoal em que pasta de meu projeto eu tenho que colocar estes tres arquivos

ricardospinoza

Jogue na pasta lib e adicione no seu path os jar’s

carlos_maia

obrigado

A

Muito bom…

Criado 25 de fevereiro de 2009
Ultima resposta 14 de fev. de 2011
Respostas 7
Participantes 6