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

erro primeiro exemplo

Olá, estou tendo problemas com o primeiro exemplo. Criei um projeto mavem com o seguinte POM:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>br.com.alura.java.jdbc</groupId>
    <artifactId>CursoJAVAJDBC</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb-j5</artifactId>
            <version>2.2.4</version>
        </dependency>
    </dependencies>

</project>

E a minha classe de exemplo está assim:

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


public class TestaListagem {

    public static void main(String[] args) throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/loja-virtual", "SA", "");

        Statement statement = connection.createStatement();
        boolean resultado = statement.execute("select * from produto");
        ResultSet resultSet = statement.getResultSet();

        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String nome = resultSet.getString("nome");
            String descricao = resultSet.getString("descricao");

            System.out.println(id);
            System.out.println(nome);
            System.out.println(descricao);
        }
    }
}

quando rodo apresenta o seguinte erro:

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

Porem consigo ver a listagem dos dados no DatabaseManager

4 respostas

provavelmente você não tem acesso a tabela produto.

verifique em seu banco de dados se ela existe ou se o usuário da aplicação está habilitado para utilizar esta tabela.

Tive o mesmo problema. A tabela existe e pelo que entendo da forma que estamos fazendo o usuário SA tem acesso. Alguém pode ajudar?

@gabriel de souza tamiozzo

Fiz o teste usando o DatabaseManager com o usuario que é passado na string de conexão ('SA') e mostra os elementos que foram inseridos antes normal.

solução!

consegui resolver criando os arquivos do banco dentro da pasta do projeto.