[RESOLVIDO] Usar Banco de Dados H2 Embarcado

Não sei se é o forum certo.

Pois bem.

Eu estou usando o banco de dados h2 em modo embarcado.
Eu gostaria que quando eu executasse o programa em outro computador o banco ja estive embarcado

No meu computador funciona legal, mas quando eu testo em outro computador… ele diz que a tabela nao foi encontrado. Por que?

  Erro: Table "USUARIOS" not found; SQL statement:
  SELECT * FROM usuarios usu_login = ? AND usu_senha = ? [42102-170]

Como eu faço pra levar o banco dentro do meu sistema em modo embarcado?

Alguem sabe ?

cbcarlos07, como está sua estratégia de criação de tabelas nesses casos onde o banco será criado do zero? Você está utilizando o hibernate para isso, um mecanismo manual ou alguma ferramenta de gerenciamento de versões de banco para fazer essa criação inicial?

Você precisa já enviar o banco criado para o outro computador ou criar o banco na primeira vez que a aplicação for iniciada. Se opatar pela segunda, vai precisar ter uma classe em sua aplicação que tenha os “CREATE TABLE IF NOT EXISTS …” .

luksrn ,

Nessa area de banco de dados embarcados eu sou novo. Criei o banco e suas repectivas tabelas de forma manual.
Nao sei se tem algum jeito melhor, porque eu pensei que só era trabalhar com o banco direto no netbeans e ja levaria junto quando eu construisse…

Se vc puder me dar uma sugestao

romarcio,

Faz sentido o que vc falou, pois o erro postado acima, só diz que a tabela nao foi encontrada, mas nâo dá erro de Banco de Dados

Sim, quando a conexão é aberta, ele cria o banco, mas precisa do SQL para criar as tabelas. Então você cria métodos para isso, e coloca a chama na classe main por exemplo.
Só precisa olhar na documentação do H2 para ver se ele aceita o IF NOT EXISTS, por que tem um banco que não aceita, não lembro se é o Derby ou o HSQLDB.

Se usar Hibernate, fica mais fácil ainda. O próprio Hibernate cria as tabelas sem você se preocupar em fazer os SQL.

[quote=romarcio]

Sim, quando a conexão é aberta, ele cria o banco, mas precisa do SQL para criar as tabelas. Então você cria métodos para isso, e coloca a chama na classe main por exemplo.
Só precisa olhar na documentação do H2 para ver se ele aceita o IF NOT EXISTS, por que tem um banco que não aceita, não lembro se é o Derby ou o HSQLDB.[/quote]

Ah ta… entao pra funcionar como eu quero eu preciso ter uma classe que cria as tabelas tambem. É isso? rsrs (Já falei que sou novo na área rs)

E eu nao sei ainda trabalhar com o hibernate ainda… Alguma sugestao?

[quote=cbcarlos07][quote=romarcio]

Sim, quando a conexão é aberta, ele cria o banco, mas precisa do SQL para criar as tabelas. Então você cria métodos para isso, e coloca a chama na classe main por exemplo.
Só precisa olhar na documentação do H2 para ver se ele aceita o IF NOT EXISTS, por que tem um banco que não aceita, não lembro se é o Derby ou o HSQLDB.[/quote]

Ah ta… entao pra funcionar como eu quero eu preciso ter uma classe que cria as tabelas tambem. É isso? rsrs (Já falei que sou novo na área rs)

E eu nao sei ainda trabalhar com o hibernate ainda… Alguma sugestao?[/quote]

Isso, tem que ter uma classe, da uma olhada nesse tutorial para ter uma base: JDBC com Banco de Dados Standalone
Só vai precisar mudar a instrução para criar as tabelas, por que no tutorial ele não usa a opção IF NOT EXISTS.

Se não sabe Hibernate e é novo no Java, é melhor não partir para ele ainda então.

Beleza vou tentar aqui e digo o resultado

[quote=romarcio]

Isso, tem que ter uma classe, da uma olhada nesse tutorial para ter uma base: JDBC com Banco de Dados Standalone
Só vai precisar mudar a instrução para criar as tabelas, por que no tutorial ele não usa a opção IF NOT EXISTS.

Se não sabe Hibernate e é novo no Java, é melhor não partir para ele ainda então.[/quote]

Sua sugestao do site mencionado foi crucial pro meu sistema.
E seu comentario quanto a opção IF NOT EXISTS tambem foi essencial.

Funcionou legal.

Obrigado pela ajuda .

Agora como eu faço pra marcar como resolvido?

Edita seu 1° post e no campo titulo, ao lado do seu titulo digite: [RESOLVIDO]

Beleza agora sim… RESOLVIDO.

Obrigado pela ajuda hein