Problemas com execução do jar fora do netbeans

Prezados, boa noite!

Tenho que realizar um pequeno formulário de cadastro usando o banco de dados Access (sim é a unica ferramenta que me disponibilizaram). O problema é que quando rodo no netbeans a aplicação faz o cadastro sem problermas, funciona do jeito que eu quero. mas quando eu compilo e executo pelo JAR não realiza o cadastro.

Alguem já pssou por isso, podem me ajudar?

Já tive muitos problemas rsolvidos aqui nas postagens do forum, mas essa é a primeira vez que eu posto uma duvida.

segue abaixo o meu comando insert.

public void setCadastrar(){
  try{


        String comando = "INSERT INTO CADASTRO_PENDENTE1  "+
//" 	(COD_CADASTROS,     "+ 
" 	(CUSTOMER,           "+
" 	NOME_CLIENTE,       "+
" 	PROTOCOLO_ABERTURA, "+
" 	DATA_ABERTURA,      "+
" 	REGIONAL,           "+
" 	VENCIDO,            "+
" 	PROBLEMA            "+
" 	) "+
" 	VALUES "+
//" 	(16,  "+
" 	(?,  "+
" 	?,  "+
" 	?,  "+
" 	?,  "+
" 	?,  "+
" 	?,  "+
" 	?  "+
" 	); "
;

        System.out.println("Executando operação...");

        PreparedStatement stmt = (PreparedStatement) ClassConecta2.con.prepareStatement(comando);
        
        
//        String oDataCadastro = null;
//        if (getData_abertura() != null){
//          SimpleDateFormat oDatOut = new SimpleDateFormat("yyyy-MM-dd");
//          oDataCadastro = oDatOut.format(getData_abertura());
//        }

        stmt.setInt(1, getCustomer());
        stmt.setString(2, getNome_clientes());
        stmt.setString(3, getProtocolo());
        stmt.setString(4, getData_abertura());
        stmt.setString(5, getRegional());
        stmt.setString(6, getVencido());
        stmt.setString(7, getDescricao());

        stmt.execute();
        
        ClassConecta2.con.commit();
        ClassConecta2.con.setAutoCommit(true);
        
        JOptionPane.showMessageDialog(null, "Cadastrado com sucesso");

   

        //System.out.println("Transação Concluída");
        //JOptionPane.showMessageDialog(null, "Transação Concluída", "ATENÇÃO", JOptionPane.WARNING_MESSAGE);
        }catch(Exception e){
            System.err.println("Erro na Transação\n"+e);
            JOptionPane.showMessageDialog(null, "Erro na Transação\n"+e, "ATENÇÃO", JOptionPane.ERROR_MESSAGE);

        }
}
    


abaixo segue o comando para enviar para a classe

[code]private void salvarjButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
salvarjButton.setEnabled(false);
novojButton.setEnabled(true);
editarjButton.setEnabled(true);

        CadastroPendentes oPendentes = new CadastroPendentes();

        
        oPendentes.setCustomer(Integer.parseInt(customerjTextField.getText()));
        oPendentes.setNome_clientes(nomeClientejTextField.getText().trim().toUpperCase());
        oPendentes.setProtocolo(protocoloAberturajTextField.getText());
        oPendentes.setData_abertura(datajFormattedTextField.getText());
        oPendentes.setRegional(regionaljComboBox.getSelectedItem().toString());
        oPendentes.setVencido(vencidojComboBox.getSelectedItem().toString());
        oPendentes.setDescricao(descricaojTextArea.getText());
        oPendentes.setCadastrar();

// try {
// ClassConecta2.con.commit();
//// ClassConecta2.con.setAutoCommit(true);
// } catch (SQLException ex) {
// Logger.getLogger(jFCadastroPendentes.class.getName()).log(Level.SEVERE, null, ex);
// JOptionPane.showMessageDialog(null, “não cadastrado”);
// }

// JOptionPane.showMessageDialog(null, “Cadastrado com sucesso”);

}                [/code]

Desde já agradeço a ajuda.

Gente, coloquei um jOptionpane em um catch e mostra que quando rodo pelo jar ele não encontra o drive odbc. O engraçado é que pelo netbeans ele encontra e não da erro. Alguem sabe como resolver isso?

Veja se não é por alguma Lib que não foi compilada (na hora de gerar o Jar).

Eu passei por esse problema…

Outra coisa é executar pelo Prompt de Comando para ver os erros…

java -jar NOMEDOSISTEMA.jar

Problema resolvido.

Depois de ler muitos sites gringos, descobri que os drives so access 2010 não tem suporte para o java 7 e 8.

Resolvi o problema usando a biblioteca ucanaccess.
Ao baixar a biblioteca, ira vir barias outras dentro e para incluir no classpath para quem usa netbeans, tem que clicar com o botão direito e depois em ADICIONAR JAR/PASTA e colocar todas as bibliotecas e também a ucanacces.

abaixo segue um modelo da classe conecta para ajudar na configuração.

[code]public class ClassConecta {

public static Connection con = null;

 public static java.sql.Connection getConnection() throws SQLException {
    String driver = "net.ucanaccess.jdbc.UcanaccessDriver";
    
    String url = "jdbc:ucanaccess://\\\\spws-vm-fs02/sky/sky/siebel/note/1 - AGENTES - TORRE NACIONAL/1 - ATIVIDADES DIARIAS/BASE DE DADOS/CADASTRO_PEND_NOHSBD.accdb";
    
    String username = ""; //leave blank if none
    String password = ""; //leave blank if none    
    
    
    
    try {
  Class.forName(driver);
  con = DriverManager.getConnection(url, username, password);
  con.setAutoCommit(false);
  System.out.println("Conectado!");
  
 } catch (ClassNotFoundException e) {
     JOptionPane.showMessageDialog(null, "Erro na conexão\n"+e, "ATENÇÃO", JOptionPane.ERROR_MESSAGE);
     System.out.println(e);
 }
    try {
  return DriverManager.getConnection(url, username, password);
 } catch (SQLException e) {
  // TODO Auto-generated catch block
     JOptionPane.showMessageDialog(null, "Erro na conexão\n"+e, "ATENÇÃO", JOptionPane.ERROR_MESSAGE);
     System.out.println(e);
 }
 return con;
}

}[/code]