E ai galera blz?
Gostaria de saber se existe alguma forma de utilizar um banco de dados internamente a um programa feito em java sem precisar abrir um servidor externo ao programa. Se não me engano em c/c++ e delphi tem como caso não entendam minha pergunta um exemplo do que quero fazer Exemplo:
“Um programa que eu gere um “install” pra ele e instale na máquina que quiser mas que cada um tenha seu proprio banco interno ou seja a máquina que vou instalar não precisa ter um banco de dados instalado, nem precisa estar em rede nem nada o banco de dados do programa ja ficaria onde a instação foi feita”
Espero que tenha sido claro.
Valeu ai galera
Você pode usar o HSQLDB ou o Apache Derby (que já vem no JDK 6.0 com o nome de JavaDB).
E também tem o H2DataBase:
http://www.h2database.com/
É excelente!
Valeu galera mas não entendi uma coisa por exemplo no derby como vou fazer pra “ligar” ele no meu programa e outra coisa e que vi que ele pede pra conectar usando um drive que exige senha, local, e etc como quero fazer embutido ao programa como ficaria?
Atenciosamente grato
Bem no derby não sei bem, q sempre usei o h2database, principalmente por q é o dobro da velocidade mais rapido e talz, e acompanho mais o projeto, mas creio q seja bem semelhante…
No teu projeto é só ter o .jar do engine como referência, ai é só seguir alguns exemplos…
No caso do h2database tu define aonde vai ficar a base de dados no disco, se no mesmo diretorio da aplicação ou numa subpasta ou em outro lado, isto define-se na url de conexão.
Por exemplo, uma url para a base de dados:
jdbc:h2:file:data/DB
Ou seja a DB vai ficar dentro da pasta data da tua aplicação.
Codigo para fazer a conexão:
Class.forName("org.h2.Driver");
String url = "jdbc:h2:file:data/DB";
String user = "sa";
String pwds = "";
conn = DriverManager.getConnection(url, user, pwds);
Depois de ter a conexão feita é só aproveitar e usar como uma DB normal.
Pode colocar a senha do SA para proteger a DB e boa.
O H2DataBase gera em média por DB 4 arquivos em disco, .index.db, .data.db, .trace.db e .lock.db.
Good luck.
Valeu cara assim que possivel vou testar e vejo se deu certo valeu até mais