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)
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","");
...
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.
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());
}
}
}[/code]
não esqueça de incluir no seu path o jar do sql server (em aneox)