Criar o Banco pela programação  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
ssousuke
Thread.start()

Membro desde: 04/04/2006 11:33:53
Mensagens: 28
Offline

Boa tarde,

Pelo hibernate é possivel gerar as tabelas do banco com o seguinte código

File file = new File("./mapeamento/hibernate.cfg.xml");
SchemaExport schemaExport = new SchemaExport(new Configuration().configure(file));
schemaExport.create(true, true);

Desta maneira, eu consigo gerar as tabelas automaticamente, mas o DataBase eu preciso criar manualmente pois ele não gera automatico....
Alguém sabe como criar o Banco via programação (não precisa necessáriamente ser usando o Hibernate) ????


Desde já muito obrigado

valeu pessoal
esb
JavaEvangelist
[Avatar]

Membro desde: 21/06/2006 14:40:31
Mensagens: 451
Localização: São Paulo
Offline


Dá pra criar por JDBC

esb
ssousuke
Thread.start()

Membro desde: 04/04/2006 11:33:53
Mensagens: 28
Offline

Isso eu suspeitei desde o principio rsrss

mas vc sabe como?



valeu
esb
JavaEvangelist
[Avatar]

Membro desde: 21/06/2006 14:40:31
Mensagens: 451
Localização: São Paulo
Offline


Fala ssousuke,

Abre uma conexão JDBC, cria um Statement, e com o método execute(String) roda os comandos de criação das tabelas, constraints, etc. Meio baixo nível, mas as vezes quebra um galho.

[]s

esb
ssousuke
Thread.start()

Membro desde: 04/04/2006 11:33:53
Mensagens: 28
Offline

O problema é que para abrir uma conexão JDBC a String de conexão requer o nome do Banco ( jdbc:postgresql:<nome> ) então como eu faço se é justamente o Banco que eu quero criar???
esb
JavaEvangelist
[Avatar]

Membro desde: 21/06/2006 14:40:31
Mensagens: 451
Localização: São Paulo
Offline


É você tem razão. Pensei que você queria apenas criar as tabelas.
Vou ver se acho algo, e te falo.
[]s

esb
dudaskank
GUJ Ranger
[Avatar]
Membro desde: 12/09/2003 14:59:26
Mensagens: 850
Localização: Suzano, SP, Brasil
Offline

bem, dei uma pesquisada rápida e vi 2 modos:

via sql, pelo java:



e outro modo iria depender do seu sgbd, por exemplo, o Hypersonic DB, basta vc tentar acessar o seu banco normalmente, se ele não existir, ele é criado no ato.

porém, como vi que vc usa o postgres, vc vai precisar usar o primeiro método, hehehe. sei que o postgres possui algumas tabelas de sistema, conecte em uma delas com o usuário administrador, ou que tenha permissões suficientes, e use o create do postgres mesmo.

flw

Eduardo Oliveira

Toque a balada do amor inabalável, eterna love song de nós dois...

Página
[WWW]
ssousuke
Thread.start()

Membro desde: 04/04/2006 11:33:53
Mensagens: 28
Offline

Mas tem como eu me conectar com uma tabela do sistema sem dar o nome do BD ao qual ela está.....??

não querendo abusar da sua boa vontade, mas vc sabe qual é a String de conexao para o Postgres que eu devo usar nesse caso... Ou seja qual é o nome do banco onde essas tabelas ficam.....

Obrigado pela atenção..... Falow
esb
JavaEvangelist
[Avatar]

Membro desde: 21/06/2006 14:40:31
Mensagens: 451
Localização: São Paulo
Offline

Fala ssousuke,

Andei lendo alguns fóruns do PostgreSQL e do MySQL.

Não testei, mas parece que com MySQL dá pra fazer numa boa, basta você omitir o nome do banco de dados na URL de conexão:



No caso do Postgres parece que é necessário informar o banco de dados com o qual você vai se conectar. Alguns membros dos fóruns mencionam uma versão do PostgreSQL para o Debian, mas não dão certeza se é possível resolver esse problema com esse pacote.

[]s
Eduardo

esb
fmeyer
Moderador
[Avatar]
Membro desde: 22/02/2005 17:26:29
Mensagens: 1583
Localização: Sao Paulo
Offline

para criar as tabelas nao precisa dessa mirabolancia toda ... apnas coloque essa propriedade no seu arq. de configuracao


se eu nao me engano ela cria o banco tb.

Fernando Meyer http://fernandomeyer.com
[Email] [WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team