Avalados por :

Configuração do banco de dados H2 em memória para projeto Java SAP CAP: Solução para a exceção Table LOCALIZED_SAP_CAPIRE_BOOKSHOP_BOOKS not found

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 12 Vistas
0
Cargando...

Estou tentando configurar um banco de dados h2 em memória em vez de usar o sqlite padrão em um projeto java sap cap.
Para fazer isso, comentei a dependência padrão sqlite-jdbc no arquivo srv/pom.xml e adicionei com.h2database.

Também configurei o application.yaml da seguinte forma:

datasource:    url: jdbc:h2:mem:testdb  driver-class-name: org.h2.Driver  username: sa  password:jpa:  database-platform: org.hibernate.dialect.H2Dialect  hibernate:     ddl-auto: create-drop

Estou recebendo uma série de exceções ao executar mvn spring-boot:run relacionadas a
org.h2.jdbc.JdbcSQLSyntaxErrorException : Table "LOCALIZED_SAP_CAPIRE_BOOKSHOP_BOOKS" not found

O projeto funciona perfeitamente bem com o sqlite padrão.
Como configuro para H2?

Obrigado,
Sumeet

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Mark, agora está funcionando corretamente agora que estou usando o dialeto correto.

Obrigado!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

richard.pellerin : Qual versão do @sap/cds-dk você está usando? O SQL compatível com H2 só é suportado a partir do @sap/cds-dk ^4. Certifique-se também de configurar o dialeto SQL como "plain", conforme descrito aqui: https://cap.cloud.sap/docs/java/development/#h2 . Com a próxima versão @sap/cds-dk 4.2.x (ainda não lançada), isso será configurado automaticamente ao usar a opção "to --sql" com o comando "cds deploy", mas por enquanto ainda é necessário.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Marc, notei que o aplicativo de exemplo está agora utilizando H2.

No meu projeto, não estou recebendo as instruções de criação/exclusão de tabelas, apenas as visualizações no schema.sql quando uso "deploy --to sql --dry". Existe algo especial que eu deva fazer?

Obrigado

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Este é um problema conhecido com H2 (e atualmente a principal razão pela qual promovemos o sqlite sobre o h2).

As visualizações no schema.sql gerado pelo compilador CDS durante a construção não estão ordenadas de forma que o schema.sql possa ser usado com H2. Algumas visualizações são definidas antes de suas visualizações/tabelas dependentes, o que cria problemas no H2.

Este problema já está sendo abordado internamente e será resolvido em futuras versões. Até lá, basicamente você precisa ordenar as definições de visualização em seu schema.sql de alguma forma (automatizada) por si mesmo, se deseja usar o H2.

Fique atento às notas de lançamento e ao nosso aplicativo de amostra . Uma vez que este problema seja resolvido, planejamos mudar nossa amostra Java de sqlite para H2 também.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?