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