Tô usando o BD MySQL, uso o S.O. winXP SP2, quando executo uma classe no JCreator, consigo trabalhar perfeitamente com o banco de dados, mas quando executo minhas classes através de um arquivo.bat que criei com a seguinte linha de comando “javaw “alguns critérios” nome da classe” todas as classes são executadas os menus funcionam, mas não consigo trabalhar com o banco de dados, as classes não acessam o banco de dados. Em outros sistemas operacionais isso não ocorre.
Se alguém souber de uma solução para este problema, ou souber uma maneira melhor de executar minhas classes, eu ficaria muito agradecido.
Esse erro gera alguma exception, qual erro que dá, poste aí ficará mais fácil para descobrir.
veja o seguinte codigo, nas strings serverName, username e password estou recuperando os dados atraves de um arquivo de configuracao. Mas vc pode atribuir valores como os que estao nos comentarios. Esses seriam localhost, root e daf respectivamente.
Código:
try {
// Carregando o JDBC Driver
String driverName = “com.mysql.jdbc.Driver”;
Class.forName(driverName);
// Criando a conexão com o Banco de Dados
//String serverName = “salademedicamen”;
String serverName = maquina;//“localhost”;
String mydatabase = “Processo”;
String url = “jdbc:mysql://” + serverName + “:3306/” + mydatabase;
String username = usuario;//“root”;
String password = senha;//“daf”;
connection = DriverManager.getConnection(url, username, password);
stmPrincipal = connection.createStatement();
} // fim do try
catch (ClassNotFoundException e) {
//Driver não encontrado
JOptionPane.showMessageDialog(this,“O driver do banco não foi encontrado !\n” +
e.getMessage());
System.out.println(“O driver expecificado não foi encontrado.”);
} catch (SQLException e) {
//Não está conseguindo se conectar ao banco
JOptionPane.showMessageDialog(this,“Não foi possível conectar ao banco !\n” +
e.getMessage());
System.out.println(“Não foi possível conectar ao Banco de Dados”);
} catch (Exception e) {
//Não está conseguindo se conectar ao banco
JOptionPane.showMessageDialog(this,“Ocorreu um problema !\n” +
e.getMessage());
System.out.println(e.getMessage());
}
Arquivo .bat :
@echo off
c:\jdk1.5.0_02\bin\java.exe -classpath “C:\jdk1.5.0_02\jre\lib\rt.jar;C:\Wallace\Documentos\Java\Processo\classes” PrincipalFrame
Sempre executo assim meus programas. A classe PrincipalFrame como o nome diz é a principal. Ponha o comando acima num arquivo .bat e execute-o. Va no fonte do drive e copie a pasta chamada “com” pra dentro do diretorio classes. Estou executando o aruivo .bat do diretorio Processo. E as classes compiladas estao no diretorio classes.
Funciona no xp e 2000.
Espero que ajude.
Wallace
O pior de tudo é que não gera exception nenhum, só não acessa o BD!