28
HSQLDB em perguntas e respostas – Do modo Standalone ao Servidor
Filed Under (Banco de dados, Software, Tutoriais) by Antonio Passos on 28-08-2007
P1-O que é HSQLDB ?
É um banco de dados relacional, opensource, “pure Java”, com aproximadamente 600Kb de tamanho!
P2-Onde obter o HSQLDB?
O endereço do website oficial do HSQLDB é http://hsqldb.org/. De lá pode-se baixar sua última versão estável (na data deste tutorial era a 1.8.0.7).
P3-Como instalar o HSQLDB?
Para instalar o HSQLDB basta descompactar o arquivo “hsqldb_1_8_0_7.zip” baixado do endereço acima e incluir no CLASSPATH o pacote “hsqldb.jar”
Seja, por exemplo, instalar o HSQLDB 1.8.0.7 no Ubuntu. Primeiramente mude-se para o diretório /opt com o comando…
cd /opt
De lá execute o comando…
sudo unzip <<path_do_hsqldb_1_8_0_7.zip>>/hsqldb_1_8_0_7.zip
Em seguida abra o arquivo “bash.bashrc” com o comando…
sudo gedit /etc/bash.bashrc
e inclua ao seu final as linhas abaixo:
CLASSPATH="$CLASSPATH:/opt/hsqldb/lib/hsqldb.jar"
export CLASSPATH
Simples assim! Seu HSQLDB está instalado e configurado. Pronto para usar!
P4-Como criar um banco de dados HSQLDB?
Para demonstrar como se cria um banco de dados HSLQDB, vamos utilizar a ferramenta “DatabaseManagerSwing” distribuída com o pacote hsqldb.jar (esse pacote contém outras ferramentas úteis. Consulte a documentação do HSQLDB para conhecê-las).
Para executar o DatabaseManagerSwing, abra um terminal e digite…
java org.hsqldb.util.DatabaseManagerSwing
Será aberto o diálogo “Connect”.
Nele informe ou selecione em…
- Setting Name, o nome pelo qual o banco de dados será posteriormente referenciado em “Recent settings”
- Type, o tipo do banco de dados (comumente, HSQL Database Engine Standalone)
- Driver, o driver para conexão com o banco de dados (Deixe com está: org.hsqldb.jdbcDriver)
- URL, o endereço e o nome do banco de dados
- User, o usuário
- Password, a senha do usuário
Observação: Deste ponto em diante considere <<user>> o nome do usuário logado no Sistema Operacional.
Por exemplo, seja criar um banco de dados "filmes" no diretório "/home/<<user>>/filmes/". Ainda considerando o seu sistema operacional o Ubuntu, abra um terminal e execute o DatabaseManagerSwing com o comando…
java org.hsqldb.util.DatabaseManagerSwing &
No diálogo "Connect", informe ou selecione em…
Setting Name –> Filmes em exibição
Type –> HSQL Database Engine Standalone
Driver –> org.hsqldb.jdbcDriver
URL –> jdbc:hsqldb:file:/home/<<user>>/filmes/
User –> sa
Password -> (deixe vazio)
Seu diálogo "Connect" deve parecer-se com o abaixo.

Clique em "Ok".
Vamos agora submeter alguns comandos SQL. Digite-os na área de comandos SQL (área superior esquerda da figura abaixo) e execute-os com um clique no botão "Execute SQL".
Para criar a tabela “filmes”, digite o comando…
CREATE TABLE filmes
(id identity,
titulo varchar(50),
cinema varchar(30),
sala integer,
data date,
hora time)
Para inserir registros na tabela “filmes” criada acima, siga o exemplo abaixo…
INSERT INTO filmes (titulo, cinema, sala, data, hora)
VALUES ('Batismo de Sangue', 'Academia de Tênis', 7,'2007-02-07', '19:10:00')
Para listar os registros inseridos, digite…
SELECT * FROM filmes
Ok? Para finalizar a conexão com o banco de dados, submeta o comando…
SHUTDOWN
Pronto. Encerre o aplicativo DatabaseManagerSwing.
P5-Como configurar um servidor de banco de dados HSQLDB?
A forma descrita acima cria um banco de dados “standalone”, vale dizer, que aceita apenas uma conexão por vez. Para levantar um servidor de banco de dados HSQLDB, que aceite múltiplas conexões simultâneas, deve-se primeiro criar um arquivo “server.properties” e em seguida levantar o servidor com o comando "java org.hsqldb.Server".
O “server.properties” é um arquivo de propriedades dos diversos bancos de dados HSQLDB disponíveis. Para cada um, deve-se informar no arquivo “server.properties” a porta, o caminho, o nome e o alias do banco de dados.
Para o nosso banco de dados “filmes”, criado acima, o arquivo “server.properties” poderia parecer-se com este…
server.port=59999
server.database.0=file:/home/<<user>>/filmes
server.dbname.0=filmes
onde…
- server.port indica a porta através da qual os clientes poderão se conectar ao banco de dados
- server.database indica o caminho e o nome do banco de dados
- server.dbname é o “alias” usado pelos clientes para conectar-se com o banco de dados
Pondo a mão na massa, vamos levantar um servidor de banco de dados HSQLDB. Primeiramente vamos criar o arquivo "server.properties". Em um terminal execute o comando…
gedit /home/<<user>>/filmes/server.properties
Será aberto o editor "gedit". Nele, insira as linhas abaixo:
server.port=59999
server.database.0=file:/home/<<user>>/filmes
server.dbname.0=filmes
Clique no botão “Salvar” e finalize o “gedit”.
Agora mude para o diretório /home/<<user>>/filmes com o comando…
cd /home/<<user>>/filmes
e lá execute…
java org.hsqldb.Server &
Surgirão no terminal as mensagens…
[Server@8813f2]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@8813f2]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@8813f2]: Startup sequence initiated from main() method
[Server@8813f2]: Loaded properties from [/home/<<user>>/filmes/server.properties]
[Server@8813f2]: Initiating startup sequence…
[Server@8813f2]: Server socket opened successfully in 8 ms.
[Server@8813f2]: Database [index=0, id=0, db=file:/home/<<user>>/filmes, alias=filmes] opened sucessfully in 412 ms.
[Server@8813f2]: Startup sequence completed in 431 ms.
[Server@8813f2]: 2007-08-28 11:02:09.192 HSQLDB server 1.8.0 is online
[Server@8813f2]: To close normally, connect and execute SHUTDOWN SQL
[Server@8813f2]: From command line, use [Ctrl]+[C] to abort abruptly
Para testar nosso servidor, abra o DatabaseManagerSwing e no diálogo “Connect” informe ou selecione…
Type = HSQL Database Engine Server
Driver = org.hsqldb.jdbcDriver
URL = jdbc:hsqldb:hsql://localhost:59999/filmes
User = sa
Password =
Clique em “OK”.
Voilà! Eis novamente nosso banco de dados “filmes”!
It's all, folks!
Leia também estes posts...



No que isto pode ser útil em minha prática pedagógica?
[...] uma fonte de pesquisa [...]
[...] uma fonte de pesquisa [...]
Olá Antonio..estou iniciando um estudo relacionado a programação dispositivos moveis
com a ferramenta j2ME
Então tipo vc sabe me informar se há como utilizar o HSQLDB por exemplo embutido junto a uma aplicação de um palm…??
Em algumas das pesquisas que fiz li que o HSQLDB usa algumas API’s do SE
não sei tipo se vc souber algo poderia me dar essa forcinha
Obrigado
Estou tentando seguir estes passos para instalar o HSQLDB 1.8.0.9 mas não bate, tem algo que ainda não consegui entender, por ex:
Esta orientação diz:
1-Para instalar o HSQLDB basta descompactar o arquivo “hsqldb_1_8_0_7.zip” baixado do endereço acima e incluir no CLASSPATH o pacote “hsqldb.jar”
Estou tentando com hsqldb_1_8_0_9.zip que me parece o mais atualizado.
2-Seja, por exemplo, instalar o HSQLDB 1.8.0.7 no Ubuntu. Primeiramente mude-se para o diretório /opt com o comando…
cd /opt.
Descompactei o .zip no drive C: e observei que não foi criado nenhum diretório opt, em vista disso como posso dar um cd /opt.
Obrigado por sua ajuda.
Lenio.
[...] uma fonte de pesquisa [...]