HSQLDB não funciona na aplicação compilada

13 respostas
Arthur.hvt

Olá denovo :smiley:

Então, ja terminei aqui a minha aplicação, esta rodando perfeitamente com o HSQLDB. O problema é que ele só funciona no Netbeans. Quando eu vou compilar o projeto e abro diretamente pelo jar, a DB não funciona.

Alguém ai pode ajudar? :smiley:

13 Respostas

Arthur.hvt

ninguém?

ismaelsoj

Tô comum problema parecido com esse HSQLDB… como eu não conheço muito de banco de dados, acho que vou aprender a usar outro (que não seja MySQL, pq já tem no meu serviço e tô com medo de fuder o sistema com uma aplicação que tô desenvolvendo), pq esse tá osso…

leoramos

Cara, tente ser mais específico. “Não tá funcionando” é reclamação de usuário (e dos bem ruins), não de desenvolvedor.
Antes de mais nada: o serviço tá rodando?

Abraço!

Arthur.hvt

Ja entendi o problema. Ele não estava criando a tabela no local correto, então quando eu acessava dava erro.

O problema agora é que eu não consigo criar a DB dentro da pasta do programa. Ele fica criando numa pasta totalmente diferente

String path = System.getProperty("user.dir") + "/db/";

No Netbeans ele pega: /home/arthur/Templates/Fun Center/Cata Letra/db/
Pelo JAR ele pega: /home/arthur/db/

Alguém pode ajudar ai?

Arthur.hvt

up

d34d_d3v1l

Coloca resolvido aí no título do tópico :wink:
abrazz

Arthur.hvt

Eu colocaria se estivesse resolvido. Eu perguntei ali como eu faço pra pegar o caminho do meu jar.

Obrigado.

d34d_d3v1l

No String do JDBC coloca algo do tipo:

./lib/MEUBANCO

:smiley:

Arthur.hvt

Como assim? Eu coloco com esse ponto ai mesmo?

meu codigo ta assim:

try { String path = System.getProperty("user.dir") + "/db/"; File dir = new File(path); if(!dir.exists()){ dir.mkdir(); } for(int i = 0; i < dir.listFiles().length; i++){ System.out.println(dir.listFiles()[i]); } conn = DriverManager.getConnection("jdbc:hsqldb:file:" + path, "cataletra", "catandoletra"); } catch(SQLException ex){ Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex); }

d34d_d3v1l

Cara não sei com o HSQLDB,

mas com o H2 voce nao precisa criar o arquivo.. Ele cria automatico de acordo com o string do JDBC q vc colocou.
Então faça o teste...
esqueçe essa parada de criar o arquivo etc e tal e deixa só o

conn = null;

conn = DriverManager.getConnection(JDBC,user,pass);

e vê se ele não cria sozinho ;)
abrazz

Arthur.hvt

Eu não to criando o arquivo, estou criando a pasta. E se eu não criar, da erro, ele não cria sozinho não.

Na verdade esta funcionando. Mas não do jeito que eu quero. Ta criando a pasta db em outro lugar, e não na pasta do programa.

d34d_d3v1l

Arthur.hvt:
Eu não to criando o arquivo, estou criando a pasta. E se eu não criar, da erro, ele não cria sozinho não.

Na verdade esta funcionando. Mas não do jeito que eu quero. Ta criando a pasta db em outro lugar, e não na pasta do programa.

ele cria a pasta sozinho também… o H2 pelo menos.
Pq não tenta cara?
ASuhASUHASUHAS

Arthur.hvt

Coloquei desse jeito ai e agora ele cria em /home/arthur/Documents/db/

Sério, não entendo como ele faz isso. Minha aplicação esta em /home/arthur/Templates/Fun Center/Cata Letra/db/, e nunca coloquei esse ouutro caminho no programa. Deletei a pasta db e criou no mesmo lugar.

Muita treta esse erro.

Criado 5 de junho de 2011
Ultima resposta 6 de jun. de 2011
Respostas 13
Participantes 4