Olá a todos,
Venho neste post pedir ajuda com a conexão entre java e hsqldb. Eu já li o artigo contido no fórum sobre hsqldb além de vários slides coletados pelo google e o guia do próprio BD (não totalmente). Contudo estou tendo um problema que não consigo solucionar, eu tento fazer um insert no BD mas aparece sempre a seguinte mensagem:
Conectou!
Erro na query! java.sql.SQLException: user lacks privilege or object not found: CLIENTE
Segue a classe que estou utilizando para a conexão (não fui eu quem a criou, estou utilizando por caráter de aprendizagem) e a classe que utilizo para fazer a inserção.
Classe Banco
public class Banco
{
private Connection con; //Conexão
private Statement stm;
private ResultSet rs;
private String DRIVER = "org.hsqldb.jdbcDriver";
private String URL = "jdbc:hsqldb:file:/banco/PDS";
private String usuario = "SA";
private String senha = "";
public void abrirConexao()
{
try
{
Class.forName(getDriver());
setCon(DriverManager.getConnection(getUrl(), getUsuario(), getSenha()) );
System.out.println("Conectou!");
}
catch(ClassNotFoundException e)
{
System.out.println("Erro ao carregar o driver JDBC. ");
}
catch(SQLException e)
{
System.out.println("Erro de SQL: " + e);
e.printStackTrace();
}
}
public void executarQuery(String sql)
{
try
{
setStm( getCon().createStatement() );
getStm().execute(sql);
setRs( getStm().getResultSet() );
getStm().execute("SHUTDOWN");
}
catch(SQLException e)
{
System.out.println("Erro na query! " + e);
}
}
/**
* @return the con
*/
public Connection getCon()
{
return con;
}
public void setCon(Connection c)
{
this.con = c;
}
/**
* @return the stm
*/
public Statement getStm()
{
return this.stm;
}
public void setStm(Statement s)
{
this.stm = s;
}
/**
* @return the rs
*/
public ResultSet getRs()
{
return this.rs;
}
public void setRs(ResultSet rs)
{
this.rs = rs;
}
/**
* @return the DRIVER
*/
public String getDriver()
{
return this.DRIVER;
}
/**
* @return the URL
*/
public String getUrl()
{
return this.URL;
}
public String getUsuario()
{
return this.usuario;
}
public String getSenha()
{
return this.senha;
}
}
Classe de teste para inserção
public class inserindoNoBD
{
public static void main(String[] args)
{
Banco x = new Banco();
x.abrirConexao();
x.executarQuery("INSERT INTO PUBLIC.CLIENTE (COD,NOME) VALUES(NULL,'Newton');");
}
}
Segue em anexo a imagem do “connect” do hsqldb
Se alguém tiver alguma outra observação pertinente sobre o assunto, alguma bibliografia sobre referente ao tema para recomendar, ou mesmo uma dica, por favor comente.
Desde já agradeço pela atenção de todos.

