Criei uma aplicação, com Netbeans, e quando gero o .jar, ele não lê o banco de dados. Como não tenho outro banco, estou usando o MS Access. Estou fazendo uma “conexão direta”, sem configurar o ODBC (Fonte de dados) do windows. A conexão é feita assim:
try {
Driver d = (Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
return DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ= src/database/database.mdb","","");
} catch (ClassNotFoundException e) {
throw new SQLException(e.getMessage());
}
}[/code] Quando estou executando a aplicação via Netbeans, funciona corretamente. Porém, ao gerar .jar e executá-lo, aparece a seguinte mensagem:
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] '(desconhecido)' não é um caminho válido. Certifique-se de que o nome do caminho esteja escrito corretamente e que você esteja conectado ao servidor no qual o arquivo reside. Poderiam me auxiliar ?
Todo chinelo velho encontra seu pé torto… Trabalhei bons anos com Access e para o que fiz sempre me atendeu. Depende muito do que você quer fazer. Se estiver procurando um banco pequeno, que dispense instalação e já possa ser distribuído junto com sua aplicação… nem o MySql é a melhor opção!! Se for este o caso uma das alternativas possíveis é o HSQLDB.
Aqui na empresa onde trabalho fizemos alguns testes com o H2 http://www.h2database.com/html/main.html, por enquanto esta atendendo as funcionalidades, é uma boa alternativa ao HSQLDB.
Sou novato na linguagem java e gostaria de um força para criar um acesso de pessoas em cod. de barra mas que limite alguns acesso em determinadas salas com elitor de cod. de barra . e utilizar o my sql e a melhor escolha para bd ? e como modo ele no eclipse?
Se você quer utilizar um banco de dados embarcado em sua aplicação, aconselho a utilizar o SQLite é bem melhor que o Access, se é que podemos chamar o Access de banco de dados.
Primeiramente, obrigado pelas dicas. Eu percebi que, sempre que gero o .jar, ele cria, também, uma pasta chamada lib. Então, o que fiz foi alterar o código dessa maneira:[code]public static Connection getConnection() throws SQLException, InstantiationException, IllegalAccessException {
try {
Driver d = (Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
return DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ= lib/database.mdb","","");
} catch (ClassNotFoundException e) {
throw new SQLException(e.getMessage());
}
}[/code] Só coloquei o mdb dentro da pasta lib e está funcionando.
[quote=Aldeir]Pelo que conheço de Java com Access, não dá pra fazer “ligação direta”, sem configurar o ODBC.
Se você encontrar, posta aqui porque eu desconheço.[/quote]
puxa vida rossijr10, até esses dias eu estava fazendo todo o banco de dados de novo só porque não achei uma resposta tão simples sobre access como a sua. Valew mesmo. rs
Fiz tudo de novo no Mysql, mas nem precisa. Era um controle muito bobo pra tanto trabalho. Mas é assim mesmo. vivendo e aprendendo.
Criei uma aplicação, com Netbeans, e quando gero o .jar, ele não lê o banco de dados. Como não tenho outro banco, estou usando o MS Access. Estou fazendo uma “conexão direta”, sem configurar o ODBC (Fonte de dados) do windows. A conexão é feita assim:
try {
Driver d = (Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
return DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ= src/database/database.mdb","","");
} catch (ClassNotFoundException e) {
throw new SQLException(e.getMessage());
}
}[/code] Quando estou executando a aplicação via Netbeans, funciona corretamente. Porém, ao gerar .jar e executá-lo, aparece a seguinte mensagem:
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] '(desconhecido)' não é um caminho válido. Certifique-se de que o nome do caminho esteja escrito corretamente e que você esteja conectado ao servidor no qual o arquivo reside. Poderiam me auxiliar ?
[/quote]
Não sei se seu problema é esse, mais…
Quando se usa BD + Java ao importa para .jar vai gerar um arquivo .jar e uma pasta com informações do BD, esses 2 tem que está no mesmo lugar senão nunca vai presta…OK