Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro ao Listar dados do banco de dados

Quando executo o código para mostrar todos os dados do banco de dados aparece a seguinte mensagem:

Exception in thread "main" java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: PRODUTO at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source) at TestaListagem.main(TestaListagem.java:10)

Abaixo o meu código:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;

public class TestaListagem { public static void main(String[] args) throws SQLException { Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/loja-virtual", "SA", ""); Statement stmt = c.createStatement(); boolean resultado = stmt.execute("select * from Produto"); System.out.println("O resultado foi: " + resultado); c.close(); } }

5 respostas
solução!

O HSQLDB não dá erro de conexão se a base de dados não existir, ele simplesmente cria naquele momento uma de mesmo nome se já não houver. Neste caso, a tabela PRODUTO não vai existir. Se esse for o caso, tenta criar as tabelas via código antes de executar as consultas.

Italo. Eu fiz exatamente isso e deu certo. Obrigada!

Massa! De nada!

Valew, eu tava com o mesmo problema. Pra resolver eu alterei o modo que o DatabaseManager conecta (a ferramenta gráfica). Por padrão ele vem só pra criar temporariamente na memória. Tem que trocar pra modo Server pra que persista mesmo os dados.

Débora, depois marca o tópico como resolvido :).

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software