[PROBLEMA] Conexão GUI Swing com HSQLBD

8 respostas
T

Olá, existe um tópico igual a esse aqui no fórum, mas ele é old e nao foi respondido.

Estou com problemas na conexão de um GUI Swing com um BD HSQLBD.

Estava com dificuldade com librarys ... mas consegui resolver o problema, agora a dificuldade é no Driver.

o erro que aparece é : error java.sql.SQLException:user lacks privilege or object not found: usuario

(estou tentando acessar uma tabela chamada USUARIO)

o arquivo principal, eu crio um objeto da classe de conexão, executo o método OpenBD e o método Pesquisa()

o arquivo conexão é esse:

import java.sql.*;
import javax.swing.JOptionPane;

public class fomBanco
{
    String driver="org.hsqldb.jdbcDriver";

    String url="jdbc:hsqldb:file:/sb/dteste",username="SA",password="";

    private Connection connection = null;
    private Statement statement = null;
    private ResultSet resultset = null;

    public String nome,email;

    public void OpenDB()
    {
        try
        {
            Class.forName(driver);

            connection = DriverManager.getConnection(url,username,password);

            statement = connection.createStatement();
        }
            catch(Exception e)
        {
            JOptionPane.showMessageDialog(null,"Error ao abrir "+e);
        }
    }
    public void CloseDB()
    {
        try
        {
            connection.close();
        }
            catch(Exception e)
        {
            JOptionPane.showMessageDialog(null,"Erro ao fechar DB","Mensagem",JOptionPane.ERROR_MESSAGE);
        }
    }
    
    public void pesquisa()
    {
        String query = "SELECT * FROM USUARIO";

        try
        {
            resultset = statement.executeQuery(query);

            if(resultset.next())
            {
                nome = resultset.getString("nome");
                email = resultset.getString("email");
            }
        }
            catch(Exception e)
        {
            JOptionPane.showMessageDialog(null,"Error "+e);
        }
    }

    public String retornaNome()
    {
        return nome;
    }

    public String retornaEmail()
    {
        return email;
    }
}

Li um monte de fóruns, mas sempre acaba na mesma coisa ... em nada

valew !!

8 Respostas

romarcio

Eu montei um tutorial no meu blog sobre conexão com banco standalone, usando o derby e o hsqldb.
Da uma olhada em http://mballem.wordpress.com/2011/02/02/jdbc-com-banco-de-dados-standalone/

d34d_d3v1l

romarcio:
Eu montei um tutorial no meu blog sobre conexão com banco standalone, usando o derby e o hsqldb.
Da uma olhada em http://mballem.wordpress.com/2011/02/02/jdbc-com-banco-de-dados-standalone/

opaaa! vai me ajudar no futuro,
pretendo usar só o HSQLDB
nas minhas aplicações !

abraços

T

Só uma pergunta, porque usar o Derby E o HSQLBD ?

d34d_d3v1l

não entendi,
por que usar AMBOS ou por que usar um dos dois ?

Se a pergunta for ambos, eu nao sei a resposta,
até por que acho disnecessário…

Se for um dos dois, pq o bd é imbutido, é leve,
nao precisa instalar nada no cliente, aahh,
enfim é melhor :slight_smile:
eu acho

romarcio

não entendi,
por que usar AMBOS ou por que usar um dos dois ?

Se a pergunta for ambos, eu nao sei a resposta,
até por que acho disnecessário…

Se for um dos dois, pq o bd é imbutido, é leve,
nao precisa instalar nada no cliente, aahh,
enfim é melhor :slight_smile:
eu acho

A escolha do banco de dados vai de cada um, cada usuário tem suas preferências.
Mas um outro motivo além dos quais o d34d_d3v1l citou, é o fato de serem free, tanto para desenvolvimento quanto para utilizar em aplicações comerciais.
E no caso de usar standalone, são muito melhores do que utilizar o access como muita gente costuma fazer por não conhece-los. Eu mesmo na faculdade tive que usar o access e ainda com conexão ODBC, que vc precisa configurar no windows para funcionar, uma droga.

T

A idéia é mandar o .jar do programa já com o banco acoplado.

Essa é a idéia do hsqlbd né ?

romarcio

tsalsicha:
A idéia é mandar o .jar do programa já com o banco acoplado.

Essa é a idéia do hsqlbd né ?

Sim, essa é a finalidade do modo standalone.

Vc conseguiu resolver seu problema com a conexão?

T

Sim sim, o que estava errado era uma / na url

essa / depois do nome do banco de dados “dteste/”

Com isso ele consegue acessar o bd na pasta

Estou procurando na net como gerar o jar da aplicação já com o bd incluso … mas ta tenso

Criado 11 de fevereiro de 2011
Ultima resposta 12 de fev. de 2011
Respostas 8
Participantes 3