2
respostas

[Dúvida] Olá boa tarde! Erro Table "CURSO" not found (this database is empty);

Estou enfrentando o seguinte erro ao executar o ForumApplicationkt:

Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "CURSO" not found (this database is empty); SQL statement:
insert into curso (nome, categoria) values('Kotlin', 'PROGRAMACAO') [42104-224]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:514) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.message.DbException.get(DbException.java:223) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.message.DbException.get(DbException.java:199) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8051) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8035) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.readTableOrView(Parser.java:8024) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.readTableOrView(Parser.java:7990) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.parseInsert(Parser.java:1540) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.parsePrepared(Parser.java:719) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.parse(Parser.java:592) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.parse(Parser.java:564) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.command.Parser.prepareCommand(Parser.java:483) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.engine.SessionLocal.prepareLocal(SessionLocal.java:639) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.engine.SessionLocal.prepareCommand(SessionLocal.java:559) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1166) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:245) ~[h2-2.2.224.jar:2.2.224]
    at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231) ~[h2-2.2.224.jar:2.2.224]
    at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94) ~[HikariCP-5.1.0.jar:na]
    at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java) ~[HikariCP-5.1.0.jar:na]
    at org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript(ScriptUtils.java:261) ~[spring-jdbc-6.1.8.jar:6.1.8]
    ... 30 common frames omitted


Process finished with exit code 0
2 respostas

Olá Rosimeire, tudo bem?

Pelo erro que você está recebendo, parece que a tabela "CURSO" não foi criada no banco de dados H2 que você está utilizando. Isso pode acontecer por alguns motivos, mas vou te dar algumas dicas para tentar resolver o problema:

  1. Verifique o Script de Criação de Tabelas: Certifique-se de que o script SQL que cria a tabela "CURSO" está sendo executado corretamente. Se você está usando um arquivo schema.sql ou algo similar, confira se ele está no local correto e se contém o comando para criar a tabela.

    CREATE TABLE CURSO (
        id INT AUTO_INCREMENT PRIMARY KEY,
        nome VARCHAR(255),
        categoria VARCHAR(255)
    );
    
  2. Configuração do Banco de Dados: Verifique se a configuração do banco de dados no seu arquivo de propriedades está correta. Certifique-se de que a URL do banco de dados H2 está correta e que você está apontando para o banco de dados certo.

  3. Modo de Inicialização do Banco de Dados: Se você está usando o Spring Boot, verifique a configuração de inicialização do banco de dados. Você pode querer definir spring.datasource.initialization-mode=always no seu arquivo application.properties para garantir que os scripts de inicialização sejam sempre executados.

Espero que essas dicas ajudem a resolver o problema.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Boa tarde! Eu tinha alterado o arquivo application.properties para .yml conforme foi orientado na aula, mas não funcionava de jeito nenhum. Aí decidi renomeá-lo novamente para .properties, quando fiz isso voltou a compilar.

Agradeço as dicas!