Tratar erro de conexão com o SQL Server

2 respostas
D

Olá, gostaria de saber o que estou fazendo de errado no meu código, pois eu coloquei as exceções no TRY/CATCH e mesmo assim eu não recebo as mensagens que estão dentro do catch, pois estou desenvolvendo uma aplicação desktop e eu queria exibir num JOptionPane a mensagem que não foi possível conectar ao banco.

Estou forçando o erro, retirando meu pc da rede e mesmo assim as mensagens que aparece é o erro do DriverManager:

public class ConnectionFactory {
    
    public Connection getConnection() {
        // 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.out.print("Erro de ClassNotFoundException: ");
            System.out.println(e.getMessage());
        }
        
        try {
            return DriverManager.getConnection(
                    "jdbc:sqlserver://SERVIDOR;databaseName=ODBC_BANCODADOS;user=usuario;password=senha;");
        } catch (SQLException e) {
            System.out.print("Erro ao conectar ao banco");
            throw new RuntimeException(e);
        }
    }
}


erro

run:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/microsoft/util/UtilLocalMessages
	at com.microsoft.jdbc.base.BaseExceptions.<init>(Unknown Source)
	at com.microsoft.jdbc.base.BaseDriver.setupExceptionHandling(Unknown Source)
	at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(DriverManager.java:579)
	at java.sql.DriverManager.getConnection(DriverManager.java:243)
	at jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:24)

Minha aplicação é desktop, e quando eu clico no botão Ok, e não tenho conexão com o banco não faz nada.

Consigo conectar normalmante no banco de dados se meu micro estiver na rede.

Obrigado

2 Respostas

V

Por favor, ao postar tópicos, não deixe TODAS AS LETRAS DO SEU TÓPICO EM MAIÚSCULAS.

Além disso, observe que nem todas as dúvidas são de Java Básico. A sua mesma, se encaixa no fórum de persistência. Leia com atenção a lista de fóruns antes de perguntar.

Quanto ao seu erro, se tivesse usado a busca do google, acharia a resposta:
http://www.guj.com.br/java/7420-javalangnoclassdeffounderror-commicrosoftutilutillocal

D

Obrigado pela resposta Vini, eu estava procurando no google como tratar exceção. E nem tinha percebido também que ao importar meu projeto no netbeans tinha esquecido de acrescentar o jar msutil.jar.

Só pelo tipo de erro, você pode imaginar o porque eu inseri no java básico. Esse é primeiro programa em java que estou fazendo.

Valeu pela dica.

Criado 10 de agosto de 2012
Ultima resposta 10 de ago. de 2012
Respostas 2
Participantes 2