2
respostas

Database "mem:forum" not found e Error creating bean with name 'dataSourceScriptDatabaseInitializer'

Boa tarde,

Estou finalizando o curso Spring Boot API REST: construa uma API.

Estou com um problema conforme abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Onde não insere no banco H2 os registros do arquivo data.sql

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Arquivo application.properties

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Outro erro que acontece é esse abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Alguém consegue me dar uma ajuda para resolver esses problemas ?

Desde já agradeço.

2 respostas

Oii, Hemerson! Tudo bem?

O erro Database 'mem:forum' not found geralmente ocorre quando o banco de dados H2 não consegue encontrar a base de dados especificada. Isso pode ser causado por um erro de configuração no seu arquivo application.properties.

Para tentar solucionar esse problema, vá no seu arquivo application.properties e tente substituir a linha:

spring.datasource.url=jdbc:h2:mem:forum

Para essa:

spring.datasource.url=jdbc:h2:mem:forum;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE

Essa configuração vai evitar que o banco de dados seja fechado automaticamente.

Quanto ao segundo erro do print, geralmente ocorre quando o Spring Boot não consegue inicializar o bean devido a algum erro de configuração ou falta de dependências.

Nesse caso, uma sugestão é adicionar a seguinte linha ao seu arquivo application.properties:

spring.jpa.defer-datasource-initialization=true

No exemplo acima será adiado a inicialização do DataSource até que o EntityManagerFactory seja chamado. Isso pode resolver o problema se ele estiver sendo causado por uma inicialização prematura do DataSource.

Espero que as sugestões te ajude, lembre-se de adaptá-las conforme as necessidades do seu projeto.

Qualquer dúvida, compartilhe no fórum.

Bons estudos, Hemerson!

Oiee Nathalia,

Tudo bom com você ?

Desculpe a demora para realizar os testes aqui com o que você me passou de instrução, a questão do projeto subir foi resolvida, conforme abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Mas só tem um problema que identifiquei, que o banco não está sendo populado conforme deveria ser, conforme abaixo:

Tive que usar essa conexão para acessar o banco -> jdbc:h2:mem:a649ce01-b023-4168-9809-eeeac1d96c54 (OBS: Essa string de conexão ela é gerada automaticamente no log a cada subida do projeto, então o valor pode variar.)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Banco não populado:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Consegue me ajudar nesse problema ?