Hola Mark, ahora está funcionando correctamente ahora que estoy utilizando el dialecto correcto.
¡Gracias!
Avalados por :
Estoy intentando configurar una base de datos h2 en memoria en lugar de utilizar el sqlite por defecto en un proyecto java sap cap.
Para hacerlo, comenté la dependencia por defecto sqlite-jdbc dentro del archivo srv/pom.xml y añadí com.h2database.
También configuré el application.yaml de la siguiente manera:
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
Recibo una serie de excepciones al ejecutar mvn spring-boot:run relacionadas con
org.h2.jdbc.JdbcSQLSyntaxErrorException : Table "LOCALIZED_SAP_CAPIRE_BOOKSHOP_BOOKS" not found
El proyecto funciona perfectamente bien con sqlite por defecto.
¿Cómo lo configuro para H2?
Gracias,
Sumeet
Hola Mark, ahora está funcionando correctamente ahora que estoy utilizando el dialecto correcto.
¡Gracias!
richard.pellerin : ¿Qué versión de @sap/cds-dk estás utilizando? El SQL compatible con H2 solo es compatible a partir de @sap/cds-dk ^4. Asegúrate también de configurar el dialecto SQL como "plain", como se describe aquí: https://cap.cloud.sap/docs/java/development/#h2 . Con la próxima versión @sap/cds-dk 4.2.x (aún no lanzada), esto se configurará automáticamente al usar la opción "to --sql" con el comando "cds deploy", pero por el momento aún es necesario.
Hola Marc, vi que la aplicación de muestra ahora está utilizando H2.
En mi proyecto, no obtengo las instrucciones de creación/borrado de tablas, solo las vistas en schema.sql cuando uso "deploy --to sql --dry". ¿Hay algo especial que deba hacer?
Gracias
Este es un problema conocido con H2 (y actualmente la razón principal por la cual promovemos sqlite sobre h2).
Las vistas en el schema.sql que es generado por el compilador CDS durante la construcción no están ordenadas de una manera que el schema.sql pueda ser utilizado con H2. Algunas vistas están definidas antes de que se definan sus vistas/tablas dependientes, lo que crea problemas en H2.
Este problema ya está siendo abordado internamente y se solucionará en futuras versiones. Hasta entonces, básicamente necesitas ordenar las definiciones de vista en tu schema.sql de alguna manera (automatizada) por ti mismo, si deseas utilizar H2.
Mantente atento a las notas de lanzamiento y a nuestra aplicación de muestra . Una vez que se aborde este problema, planeamos cambiar nuestra muestra de Java de sqlite a H2 también.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute