Java tem como?!

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