Hsqldb - java magazine 24

3 respostas
C

Estou tentando desenvolver o exemplo da matéria O Novo NetBeans (Java Magazine edição nº 24) da página 25 “Criando o projeto”.
Segui tudo o que está escrito mas creio que devo ter errado no HSQLDB pois conforme a página 27, compilo e quando executo não consigo visualizar conforme a figura 9 desta página; o que aparece são mensagens de erro conforme abaixo:


init:

deps-jar:

compile:

run:

Exception in thread main java.sql.SQLException: The database is already in use by another process

at org.hsqldb.Trace.getError(Unknown Source)

at org.hsqldb.Trace.error(Unknown Source)

at org.hsqldb.Log.open(Unknown Source)

at org.hsqldb.Database$Logger.openLog(Unknown Source)

at org.hsqldb.Database.open(Unknown Source)

at org.hsqldb.Database.<init>(Unknown Source)

at org.hsqldb.jdbcConnection.openStandalone(Unknown Source)

at org.hsqldb.jdbcConnection.<init>(Unknown Source)

at org.hsqldb.jdbcDriver.connect(Unknown Source)

at java.sql.DriverManager.getConnection(DriverManager.java:525)

at java.sql.DriverManager.getConnection(DriverManager.java:171)

at relatorio.Vendas.main(Vendas.java:43)

Alguém sabe onde estou errando?

:?: :grin: :?:

3 Respostas

M

Cecel,

não li o exemplo da revista, mas esse erro ocorre quando o HSQLDB está em uso e você tenta abrir nova conexão.
Rodando no modo STANDALONE, o banco só permite uma conexão.
Execute o comando “SHUTDOWN” pelo DatabaseManager ou então crie um método para encerrar a conexão.

Exemplo:

public void encerrarConexao&#40;&#41; &#123;
   Statement stat =  con.createStatement&#40;&#41;;
   stat.execute&#40;"SHUTDOWN"&#41;;
   System.out.println&#40;"### Conexao encerrada"&#41;;
&#125;
C

Mineiro,

Não entendi o que você citou.
Como eu daria este shutdown?
Como eu saberia se o banco de dados está aberto ou fechado?
baixei o HSQLDB 1.8.0 e coloquei-o no C:
Na pasta bin dele tem um arquivo chamado runUtil.bat com as seguintes linhas de comando:

cd …\data
@java -classpath …\lib\hsqldb.jar org.hsqldb.util.%1 %2 %3 %4 %5 %6 %7 %8 %9

clico 2 vezes nele e só dá erro.
Não deveria abrir algo?

C

Mineiro,

OK, já entendi como funciona o HSQLDB.
java org.hsqldb.util.DatabaseManager :grin: :grin: :grin:

Valeu! Um abraço!!!

Criado 17 de julho de 2005
Ultima resposta 2 de ago. de 2005
Respostas 3
Participantes 2