Erro em conexão SQLServer 2000

6 respostas
J

Estou com um código para conectar via jdbc o SQLServer 2000,
mas apresenta o seguinte erro:

ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
SQLException: No suitable driver

Já instalei o driver e até SQLServer SP4. O persiste

A classe é a seguinte:

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://127.0.0.0:1433","administrador","2040");
        
        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());
    }
}

}

Obrigado

6 Respostas

B

Ola,

Tem que colocar o driver, o arquivo .jar, no classpath da sua aplicacao pra rodar sem erro, faz uma busca aqui pelo forum que tem um monte de topicos explicando fazer isto.

A

Sim, de fato os conselhos do colega BrunoCarlo fazem sentido. Mas eu qu já sofri uma carinha com SQLServer te acrescento isso: o correto seria

E tem também uma outra parada:

Eu uso assim e funciona beleza.

J

Ainda estou com problemas no programa, a baixo descreve está descrito:

ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
SQLException: No suitable driver

  1. Instalei o SQ LServer
  2. Instalei o SP4 do SQL Server
  3. Mudei as linhas do código conforme nosso amigo indicou

NÃO ENTENDI O ESQUEMA DOS DRIVERS, QUANDO UTILIZAVA O MYSQL COLOCAVA OS DRIVERS NA IDE E NA APLICAÇÃO, MAS AGORA ESTO UTILIZANDO NETBEANS E TEM AS SEGUINTES PASTAS:

  • build
  • dist
  • nbproject
  • src
  • test
  • web (tenho uma aplicação web, a parte do arquivo é só uma classe com método main)

e também tenho os seguintes drivers:

mbase.jar
mssqlserver.jar
msutil.jar

O QUE VAI E ONDE VAI? QUAIS PASTA?

“ACREDITO SER SOMENTE UM PROBLEMINHA DE LOCALIZAÇÃO DE DIRETÓRIOS”

ABAIXO A CLASSE:

import java.sql.*;

public class ConnectionSQL {

public static void main(String args[]) {
    
    Connection con;
    Statement stmt;
    String query = "select name , id from sysobjects";
    
    try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        
    } catch(java.lang.ClassNotFoundException e) {
        System.err.print("ClassNotFoundException: ");
        System.err.println(e.getMessage());
    }
    
    try {
        con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433","sa","2040");
        
        stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery(query);
        
        System.out.println("Lista de linhas da tabela sysobjects:");
        
        while (rs.next()) {
            
            String s = rs.getString("name");
            
            int i = rs.getInt("id");
            System.out.println(s + " " + i);
        }
        
        stmt.close();
        con.close();
        
    } catch(SQLException ex) {
        System.err.println("SQLException: " + ex.getMessage());
    }
}

}

O B R I G A D O

A

Bem, pelo que vejo você ainda tem problemas com o driver… As modificações que te passei funcionam aqui pra mim, só que tem um detalhe: o meu driver do SQLServer é um arquivo chamado sqljdbc.jar. Posso te mandar por e-mail, se quiser.

J

Quero sim… por favor envia por e-mail esse driver.

Envia para:

[email removido]
[email removido]

Mas esse driver você instalou ou simplesmente baixou da internet, qual a origem dele?

Obrigado [ ]

A

Hummm… O Almadén não me deixa lembrar de onde saiu esse troço. Estou te mandando nos endereços indicados.

Criado 24 de abril de 2007
Ultima resposta 26 de abr. de 2007
Respostas 6
Participantes 3