diff --git a/docs/reference/supported-environments.md b/docs/reference/supported-environments.md
index 3803e0c3432..563e3c52852 100644
--- a/docs/reference/supported-environments.md
+++ b/docs/reference/supported-environments.md
@@ -101,7 +101,7 @@ Requirements for the components can be seen below:
| Optimize | OpenJDK 21+ | Elasticsearch 8.16+
Amazon OpenSearch 2.17+ |
| Connectors | OpenJDK 21+ | |
| Management Identity | OpenJDK 17+ | Keycloak 25.x, 26.x
PostgreSQL 14.x, 15.x, 16.x, 17.x, or Amazon Aurora PostgreSQL 13.x, 14.x, 15.x, 16.x, 17.x (required for [certain features](/self-managed/components/management-identity/miscellaneous/configuration-variables.md#database-configuration))
Oracle 19c
Microsoft SQL Server 2019 |
-| Web Modeler | - | PostgreSQL 13.x, 14.x, 15.x, 16.x, 17.x, 18.x
or Amazon Aurora PostgreSQL 13.x, 14.x, 15.x, 16.x, 17.x
or Oracle 19c, 23ai
or Microsoft SQL Server (MSSQL) 2019, 2022 |
+| Web Modeler | - | PostgreSQL 13.x, 14.x, 15.x, 16.x, 17.x, 18.x
or Amazon Aurora PostgreSQL 13.x, 14.x, 15.x, 16.x, 17.x
or Oracle 19c, 23ai
or Microsoft SQL Server (MSSQL) 2019, 2022
or MariaDB 10.4, 11.4, 11.8
or MySQL 8.4
or H2 2.3 |
| Self-Managed Console | - | - |
When running Elasticsearch, you must have the [appropriate Elasticsearch privileges](/self-managed/concepts/elasticsearch-privileges.md).
diff --git a/docs/self-managed/components/modeler/web-modeler/configuration/configuration.md b/docs/self-managed/components/modeler/web-modeler/configuration/configuration.md
index 318211cfbf0..c25a43ccf33 100644
--- a/docs/self-managed/components/modeler/web-modeler/configuration/configuration.md
+++ b/docs/self-managed/components/modeler/web-modeler/configuration/configuration.md
@@ -72,11 +72,11 @@ The available configuration options depend on the version of the cluster:
### Database
-Web Modeler currently supports PostgreSQL, Oracle, and Microsoft SQL Server (MSSQL) as persistent data storage.
+Web Modeler currently supports PostgreSQL, Oracle, Microsoft SQL Server (MSSQL), MySQL, MariaDB, and H2 as persistent data storage.
-:::info Oracle driver
-The Oracle driver is not provided by default and must be downloaded and supplied for the application to load.
-Refer to the [Oracle database configuration section](database.md#oracle) for details.
+:::info Oracle and MySQL driver
+The Oracle and MySQL drivers are not provided by default and must be downloaded and supplied for the application to load.
+Refer to the [Oracle](database.md#oracle) and [MySQL](database.md#mysql) database configuration section for details.
:::
| Environment variable | Description | Example value |
@@ -89,9 +89,6 @@ Refer to the [Oracle database configuration section](database.md#oracle) for det
Refer to the [Advanced Database Configuration Guide](./database.md) for additional details on how to configure Web Modeler's database connection.
-Using a custom database schema via `SPRING_DATASOURCE_HIKARI_SCHEMA` is supported for PostgreSQL only. Oracle does not support custom schemas. MSSQL supports custom schemas, but this is not configurable in Web Modeler.
-If you want to use a custom schema in MSSQL, you must set the default schema for the database user accordingly.
-
### SMTP / email
Web Modeler requires an SMTP server to send notification emails to users.
diff --git a/docs/self-managed/components/modeler/web-modeler/configuration/database.md b/docs/self-managed/components/modeler/web-modeler/configuration/database.md
index e1642195a32..1532867b295 100644
--- a/docs/self-managed/components/modeler/web-modeler/configuration/database.md
+++ b/docs/self-managed/components/modeler/web-modeler/configuration/database.md
@@ -1,126 +1,363 @@
---
id: database
title: "Database"
-description: "Read details on how to connect Web Modeler with a database."
+description: "Learn how to configure Web Modeler to connect securely to supported databases, including PostgreSQL, H2, MariaDB, MSSQL, MySQL, and Oracle."
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
-This page describes advanced database connection configuration for Web Modeler. For a general guide on how to set up Web Modeler's database connection, visit [the configuration overview](configuration.md#database).
-Web Modeler supports multiple database vendors. PostgreSQL will be used by default.
+This page describes advanced database connection configuration for Web Modeler.
+For a general setup guide, visit the [configuration overview](configuration.md#database).
-## Configuring SSL for the database connection
+Web Modeler supports multiple database vendors such as PostgreSQL, MySQL, MariaDB, and Microsoft SQL Server. You can choose the one that best fits your environment.
-The generic way to configure an SSL connection between Web Modeler and the database is as follows:
+| Database | Default driver included | Notes |
+| ---------- | ----------------------- | ---------------------------------------------------------------------- |
+| PostgreSQL | ✅ Yes | |
+| H2 | ✅ Yes | For development, testing, or evaluation only. |
+| MariaDB | ✅ Yes | Must use a case-sensitive collation. |
+| MySQL | ❌ No | Driver must be provided manually; must use a case-sensitive collation. |
+| MSSQL | ✅ Yes | Must use a case-sensitive collation. |
+| Oracle | ❌ No | Driver must be provided manually. |
-- Modify the JDBC URL `SPRING_DATASOURCE_URL` and customize connection parameters.
-- Provide SSL certificates and keys to the `restapi` component, if required.
+## Configuring SSL for the database connection
-Consult the [PostgreSQL documentation](https://jdbc.postgresql.org/documentation/ssl/) for a description
-of the different SSL modes and the security provided.
+To configure SSL between Web Modeler and the database:
-For a full list of all available connection parameters, visit the [PostgreSQL documentation](https://jdbc.postgresql.org/documentation/use/#connection-parameters/).
+- Modify the JDBC URL using `SPRING_DATASOURCE_URL` and add connection parameters.
+- Provide SSL certificates and keys to the `restapi` component, if required.
-Below are examples for common scenarios, increasing in the level of security they provide.
+Consult the [PostgreSQL documentation](https://jdbc.postgresql.org/documentation/ssl/) for details on SSL modes and their security guarantees.
+For a full list of available connection parameters, see the [PostgreSQL connection parameters reference](https://jdbc.postgresql.org/documentation/use/#connection-parameters/).
-### SSL mode "require"
+Below are examples for common SSL configurations, ordered by increasing security.
-In this mode, an SSL connection is established between Web Modeler and the database. It is still prone to
-person-in-the-middle attacks.
+### SSL mode `require`
-To enable this mode, modify the JDBC URL as follows: `jdbc:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]?sslmode=require`
+An SSL connection is established, but this mode remains vulnerable to person-in-the-middle attacks.
-No certificates are needed in Web Modeler for this mode.
+Modify the JDBC URL as follows:
-### SSL mode "verify-full"
+```bash
+jdbc:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]?sslmode=require
+```
-In this mode, Web Modeler requests a certificate from the database server to verify its identity. It is not
-prone to person-in-the-middle attacks.
+No certificates are required for this mode.
-To enable this mode, mount the root certificate with which the server certificate was signed and follow these steps:
+### SSL mode `verify-full`
-1. Provide the root certificate at this location: `myCA.crt -> ~/.postgresql/root.crt`.
-2. Modify the JDBC URL: `jdbc:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]?ssl=true`.
+Web Modeler verifies the server’s identity by checking its certificate.
+This mode prevents person-in-the-middle attacks.
-### SSL mode "verify-full" with client certificates
+1. Provide the root certificate that signed the server certificate:
+ `myCA.crt -> ~/.postgresql/root.crt`
+2. Modify the JDBC URL:
-In this mode, Web Modeler requests a certificate from the database server to verify the server's identity, and
-the server requests a certificate from the client to verify the client's identity.
+```bash
+ jdbc:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]?sslmode=verify-full
+```
-To enable this mode, mount the client certificates and follow these steps:
+### SSL mode `verify-full` with client certificates
-1. Provide client certificates at these locations:
- 1. `myClientCertificate.pk8 -> ~/.postgresl/postgresql.pk8`
- 2. `myClientCertificate.crt -> ~/.postgresl/postgresql.crt`
-2. Provide the root certificate at this location: `myCA.crt -> ~/.postgresql/root.crt`.
-3. Modify the JDBC URL: `jdbc:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]?ssl=true`.
+In this mode, both the server and Web Modeler authenticate each other using certificates.
-Furthermore, configure the database server to verify client certificates:
-[PostgreSQL documentation](https://www.postgresql.org/docs/current/ssl-tcp.html).
+1. Mount client certificates:
+ - `myClientCertificate.pk8 -> ~/.postgresql/postgresql.pk8`
+ - `myClientCertificate.crt -> ~/.postgresql/postgresql.crt`
+2. Provide the root certificate:
+ `myCA.crt -> ~/.postgresql/root.crt`
+3. Modify the JDBC URL:
+ ```bash
+ jdbc:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]?sslmode=verify-full
+ ```
+4. Configure the database server to verify client certificates. See the [PostgreSQL SSL documentation](https://www.postgresql.org/docs/current/ssl-tcp.html).
## Running Web Modeler on Amazon Aurora PostgreSQL
-Web Modeler supports running on Amazon Aurora PostgreSQL.
-To connect Web Modeler with your Amazon Aurora PostgreSQL instance, make the following configuration adjustments:
+Web Modeler supports connecting to **Amazon Aurora PostgreSQL**.
+To connect, update the following environment variables:
-1. Modify the `SPRING_DATASOURCE_URL` environment variable: `jdbc:aws-wrapper:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]`.
-2. Add the environment variable `SPRING_DATASOURCE_DRIVER_CLASS_NAME` with the value `software.amazon.jdbc.Driver`.
+1. Set the JDBC URL:
+ ```bash
+ SPRING_DATASOURCE_URL="jdbc:aws-wrapper:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]"
+ ```
+2. Set the driver class:
+ ```bash
+ SPRING_DATASOURCE_DRIVER_CLASS_NAME="software.amazon.jdbc.Driver"
+ ```
-For a full list of available driver parameters visit the [AWS JDBC Driver documentation](https://github.com/awslabs/aws-advanced-jdbc-wrapper/wiki/UsingTheJdbcDriver#aws-advanced-jdbc-driver-parameters).
+For all available driver parameters, see the [AWS Advanced JDBC Driver documentation](https://github.com/awslabs/aws-advanced-jdbc-wrapper/wiki/UsingTheJdbcDriver#aws-advanced-jdbc-driver-parameters).
### AWS IAM authentication
-To use AWS Identity and Access Management (IAM) database authentication with your Amazon Aurora PostgreSQL
-instance, in addition to the adjustments described [above](#running-web-modeler-on-amazon-aurora-postgresql), follow these steps:
+To enable IAM database authentication for Aurora PostgreSQL:
-1. Modify the `SPRING_DATASOURCE_URL` environment variable as follows: `jdbc:aws-wrapper:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]?wrapperPlugins=iam`.
-2. Modify the `SPRING_DATASOURCE_USERNAME` environment variable to match the database user you configured for AWS IAM authentication as described in the [Amazon Aurora documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.DBAccounts.html#UsingWithRDS.IAMDBAuth.DBAccounts.PostgreSQL).
-3. Remove the `SPRING_DATASOURCE_PASSWORD` environment variable.
+1. Modify the JDBC URL:
+ ```bash
+ SPRING_DATASOURCE_URL="jdbc:aws-wrapper:postgresql://[DB_HOST]:[DB_PORT]/[DB_NAME]?wrapperPlugins=iam"
+ ```
+2. Set the username:
+ ```bash
+ SPRING_DATASOURCE_USERNAME="[IAM_DB_USER]"
+ ```
+ The username must match a database user configured for IAM authentication as described in the [Amazon Aurora documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.DBAccounts.html#UsingWithRDS.IAMDBAuth.DBAccounts.PostgreSQL).
+3. Remove the password variable:
+ ```bash
+ unset SPRING_DATASOURCE_PASSWORD
+ ```
-## Using alternative database vendors
+When using IAM authentication, ensure Web Modeler has permission to generate IAM authentication tokens (for example, through an attached IAM role or access key).
-### Oracle
-
-As the Oracle driver is not provided by default in each of the Camunda 8 distributions, you must download the driver and supply it for the application to load.
+## Using alternative database vendors
-1. Download the appropriate Oracle driver: https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html.
-2. If you are using Docker or Kubernetes, ensure that the folder with the library is properly mounted as a volume at this location: `/driver-lib`. It will be automatically loaded by the application.
+### H2
-To use a custom database driver, set `SPRING_DATASOURCE_DRIVER_CLASS_NAME` to the fully qualified class name of your driver. Otherwise, omit this variable.
+The H2 driver is included by default.
+To use a different driver, set `SPRING_DATASOURCE_DRIVER_CLASS_NAME` to the fully qualified class name of your driver.
+Otherwise, omit this variable.
-
+
```sh
-SPRING_DATASOURCE_URL="jdbc:oracle:thin:@//[DB_HOST]:[DB_PORT]/[DB_NAME]"
+SPRING_DATASOURCE_URL="jdbc:h2:mem:[DB_NAME]" # See https://www.h2database.com/html/features.html
SPRING_DATASOURCE_USERNAME="[DB_USER]"
SPRING_DATASOURCE_PASSWORD="[DB_PASSWORD]"
-SPRING_DATASOURCE_DRIVER_CLASS_NAME="[YOUR_CUSTOM_DRIVER]" # Optional; omit to use default Oracle driver
+SPRING_DATASOURCE_DRIVER_CLASS_NAME="[YOUR_CUSTOM_DRIVER]" # Optional
```
+
+
+
```yaml
webModeler:
restapi:
externalDatabase:
enabled: true
- url: "jdbc:oracle:thin:@//[DB_HOST]:[DB_PORT]/[DB_NAME]"
+ url: "jdbc:h2:mem:[DB_NAME]"
user: "[DB_USER]"
password: "[DB_PASSWORD]"
env:
- - name: SPRING_DATASOURCE_DRIVER_CLASS_NAME # Optional; omit to use default Oracle driver
+ - name: SPRING_DATASOURCE_DRIVER_CLASS_NAME
+ value: "[YOUR_CUSTOM_DRIVER]"
+```
+
+
+
+
+
+```yaml
+spring:
+ datasource:
+ url: jdbc:h2:mem:[DB_NAME]
+ username: [DB_USER]
+ password: [DB_PASSWORD]
+ driver-class-name: [YOUR_CUSTOM_DRIVER] # Optional
+```
+
+
+
+
+
+H2 is intended for local development or testing only, not for production environments.
+
+#### Custom schema
+
+By default, H2 uses the `PUBLIC` schema.
+To use a custom schema, add an initialization command to the JDBC URL:
+
+```yaml
+jdbc:h2:mem:[DB_NAME];INIT=CREATE SCHEMA IF NOT EXISTS [CUSTOM_SCHEMA]\;SET SCHEMA [CUSTOM_SCHEMA]
+```
+
+### MariaDB
+
+The MariaDB driver is provided by default, so no additional steps are necessary to provide the driver.
+
+To use a custom database driver, set `SPRING_DATASOURCE_DRIVER_CLASS_NAME` to the fully qualified class name of your driver. Otherwise, omit this variable.
+
+
+
+
+
+```sh
+SPRING_DATASOURCE_URL="jdbc:mariadb://[DB_HOST]:[DB_PORT]/[DB_NAME]"
+SPRING_DATASOURCE_USERNAME="[DB_USER]"
+SPRING_DATASOURCE_PASSWORD="[DB_PASSWORD]"
+SPRING_DATASOURCE_DRIVER_CLASS_NAME="[YOUR_CUSTOM_DRIVER]" # Optional; omit to use default MariaDB driver
+```
+
+
+
+
+
+```yaml
+webModeler:
+ restapi:
+ externalDatabase:
+ enabled: true
+ url: "jdbc:mariadb://[DB_HOST]:[DB_PORT]/[DB_NAME]"
+ user: "[DB_USER]"
+ password: "[DB_PASSWORD]"
+ env:
+ - name: SPRING_DATASOURCE_DRIVER_CLASS_NAME
+ value: "[YOUR_CUSTOM_DRIVER]"
+```
+
+
+
+
+
+```yaml
+spring:
+ datasource:
+ url: jdbc:mariadb://[DB_HOST]:[DB_PORT]/[DB_NAME]
+ username: [DB_USER]
+ password: [DB_PASSWORD]
+ driver-class-name: [YOUR_CUSTOM_DRIVER] # Optional
+```
+
+
+
+
+#### Case sensitivity
+
+MariaDB uses case-insensitive collations by default.
+To enable case sensitivity, set the database collation to a case-sensitive one such as `utf8mb4_bin`.
+
+:::note
+If a case-insensitive collation is used, you may encounter unexpected behavior.
+For example, in [IDP extraction](/components/modeler/web-modeler/idp/idp-unstructured-extraction.md#extract-fields),
+a field named `amount` and another named `Amount` would be treated as identical because the database does not distinguish between them.
+:::
+
+### MSSQL
+
+The MSSQL driver is provided by default, so no additional steps are required.
+To use a custom database driver, set `SPRING_DATASOURCE_DRIVER_CLASS_NAME` to the fully qualified class name of your driver.
+Otherwise, omit this variable.
+
+
+
+
+
+```sh
+SPRING_DATASOURCE_URL="jdbc:sqlserver://[DB_HOST]:[DB_PORT];databaseName=[DB_NAME]"
+SPRING_DATASOURCE_USERNAME="[DB_USER]"
+SPRING_DATASOURCE_PASSWORD="[DB_PASSWORD]"
+SPRING_DATASOURCE_DRIVER_CLASS_NAME="[YOUR_CUSTOM_DRIVER]" # Optional; omit to use default MSSQL driver
+```
+
+
+
+
+
+```yaml
+webModeler:
+ restapi:
+ externalDatabase:
+ enabled: true
+ url: "jdbc:sqlserver://[DB_HOST]:[DB_PORT];databaseName=[DB_NAME]"
+ user: "[DB_USER]"
+ password: "[DB_PASSWORD]"
+ env:
+ - name: SPRING_DATASOURCE_DRIVER_CLASS_NAME # Optional; omit to use default MSSQL driver
+ value: "[YOUR_CUSTOM_DRIVER]"
+```
+
+
+
+
+
+```yaml
+spring:
+ datasource:
+ url: jdbc:sqlserver://[DB_HOST]:[DB_PORT];databaseName=[DB_NAME]
+ username: [DB_USER]
+ password: [DB_PASSWORD]
+ driver-class-name: [YOUR_CUSTOM_DRIVER] # Optional; omit to use default MSSQL driver
+```
+
+
+
+
+#### Case sensitivity
+
+MSSQL is case-insensitive by default.
+To enable case sensitivity, set the database collation to a case-sensitive one such as `Latin1_General_CS_AS`.
+
+Otherwise, you may encounter unexpected behavior.
+The only current restriction is that extraction fields in [IDP extraction](../../../../../components/modeler/web-modeler/idp/idp-unstructured-extraction.md#extract-fields) will not be case-sensitive.
+This means that if you have a field named `amount`, you cannot create another field named `Amount`, because the database treats them as the same identifier.
+
+#### Custom schema
+
+MSSQL supports custom schemas, but this is not configurable within Web Modeler.
+To use a custom schema, set the database user’s **default schema**.
+
+### MySQL
+
+The MySQL driver is **not provided by default** in Camunda 8 distributions.
+You must download and provide it manually for the application to load.
+
+1. Download the appropriate (platform-independent) MySQL driver:
+ [https://dev.mysql.com/downloads/connector/j/](https://dev.mysql.com/downloads/connector/j/)
+2. If you are using Docker or Kubernetes, ensure that the folder with the library is properly mounted as a volume at this location:
+ `/driver-lib`. It will be automatically loaded by the application.
+
+To use a custom database driver, set `SPRING_DATASOURCE_DRIVER_CLASS_NAME` to the fully qualified class name of your driver.
+Otherwise, omit this variable.
+
+
+
+
+
+```sh
+SPRING_DATASOURCE_URL="jdbc:mysql://[DB_HOST]:[DB_PORT]/[DB_NAME]"
+SPRING_DATASOURCE_USERNAME="[DB_USER]"
+SPRING_DATASOURCE_PASSWORD="[DB_PASSWORD]"
+SPRING_DATASOURCE_DRIVER_CLASS_NAME="[YOUR_CUSTOM_DRIVER]" # Optional; omit to use default MySQL driver
+```
+
+
+
+
+
+```yaml
+webModeler:
+ restapi:
+ externalDatabase:
+ enabled: true
+ url: "jdbc:mysql://[DB_HOST]:[DB_PORT]/[DB_NAME]"
+ user: "[DB_USER]"
+ password: "[DB_PASSWORD]"
+ env:
+ - name: SPRING_DATASOURCE_DRIVER_CLASS_NAME # Optional; omit to use default MySQL driver
value: "[YOUR_CUSTOM_DRIVER]"
extraVolumeMounts:
- - name: oracle-driver
+ - name: mysql-driver
mountPath: /driver-lib
extraVolumes:
- - name: oracle-driver
+ - name: mysql-driver
emptyDir: {}
initContainers:
- name: fetch-jdbc-drivers
@@ -130,78 +367,120 @@ webModeler:
[
"sh",
"-c",
- "wget https://download.oracle.com/otn-pub/otn_software/jdbc/237/ojdbc17.jar -O /driver-lib/ojdbc.jar",
+ "wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.5.0.tar.gz -O /driver-lib/mysql.tar.gz && tar -xzf /driver-lib/mysql.tar.gz -C /driver-lib --strip-components=1",
]
volumeMounts:
- - name: oracle-driver
+ - name: mysql-driver
mountPath: /driver-lib
securityContext:
runAsUser: 1001
```
+
+
+
```yaml
spring:
datasource:
- url: jdbc:oracle:thin:@//[DB_HOST]:[DB_PORT]/[DB_NAME]
+ url: jdbc:mysql://[DB_HOST]:[DB_PORT]/[DB_NAME]
username: [DB_USER]
password: [DB_PASSWORD]
- driver-class-name: [YOUR_CUSTOM_DRIVER] # Optional; omit to use default Oracle driver
+ driver-class-name: [YOUR_CUSTOM_DRIVER] # Optional; omit to use default MySQL driver
```
+
+
-### MSSQL
+#### Case sensitivity
-The MSSQL driver is provided by default, so no additional steps are necessary to provide the driver.
+MySQL usually uses **case-insensitive** collations by default.
+To enable case sensitivity, set the database collation to a case-sensitive one such as `utf8mb4_0900_as_cs`.
-To use a custom database driver, set `SPRING_DATASOURCE_DRIVER_CLASS_NAME` to the fully qualified class name of your driver. Otherwise, omit this variable.
+Otherwise, you may encounter unexpected behavior.
+The only current restriction is that extraction fields in [IDP extraction](../../../../../components/modeler/web-modeler/idp/idp-unstructured-extraction.md#extract-fields) will not be case-sensitive.
+This means that if you have a field named `amount`, you cannot create another field named `Amount`, because the database treats them as the same identifier.
-
+
```sh
-SPRING_DATASOURCE_URL="jdbc:sqlserver://[DB_HOST]:[DB_PORT];databaseName=[DB_NAME]"
+SPRING_DATASOURCE_URL="jdbc:oracle:thin:@//[DB_HOST]:[DB_PORT]/[DB_NAME]"
SPRING_DATASOURCE_USERNAME="[DB_USER]"
SPRING_DATASOURCE_PASSWORD="[DB_PASSWORD]"
-SPRING_DATASOURCE_DRIVER_CLASS_NAME="[YOUR_CUSTOM_DRIVER]" # Optional; omit to use default MSSQL driver
+SPRING_DATASOURCE_DRIVER_CLASS_NAME="[YOUR_CUSTOM_DRIVER]" # Optional; omit to use default Oracle driver
```
+
+
+
```yaml
webModeler:
restapi:
externalDatabase:
enabled: true
- url: "jdbc:sqlserver://[DB_HOST]:[DB_PORT];databaseName=[DB_NAME]"
+ url: "jdbc:oracle:thin:@//[DB_HOST]:[DB_PORT]/[DB_NAME]"
user: "[DB_USER]"
password: "[DB_PASSWORD]"
env:
- - name: SPRING_DATASOURCE_DRIVER_CLASS_NAME # Optional; omit to use default MSSQL driver
+ - name: SPRING_DATASOURCE_DRIVER_CLASS_NAME # Optional; omit to use default Oracle driver
value: "[YOUR_CUSTOM_DRIVER]"
+ extraVolumeMounts:
+ - name: oracle-driver
+ mountPath: /driver-lib
+ extraVolumes:
+ - name: oracle-driver
+ emptyDir: {}
+ initContainers:
+ - name: fetch-jdbc-drivers
+ image: alpine:3.22.1
+ imagePullPolicy: "Always"
+ command:
+ [
+ "sh",
+ "-c",
+ "wget https://download.oracle.com/otn-pub/otn_software/jdbc/237/ojdbc17.jar -O /driver-lib/ojdbc.jar",
+ ]
+ volumeMounts:
+ - name: oracle-driver
+ mountPath: /driver-lib
+ securityContext:
+ runAsUser: 1001
```
+
+
+
```yaml
spring:
datasource:
- url: jdbc:sqlserver://[DB_HOST]:[DB_PORT];databaseName=[DB_NAME]
+ url: jdbc:oracle:thin:@//[DB_HOST]:[DB_PORT]/[DB_NAME]
username: [DB_USER]
password: [DB_PASSWORD]
- driver-class-name: [YOUR_CUSTOM_DRIVER] # Optional; omit to use default MSSQL driver
+ driver-class-name: [YOUR_CUSTOM_DRIVER] # Optional; omit to use default Oracle driver
```
-
-
-#### Case sensitivity
-
-MSSQL is case-insensitive by default. To enable case sensitivity, set the database collation to a case-sensitive one. We recommend using `Latin1_General_CS_AS`.
+
-Not doing so may lead to unexpected behavior.
-The only known restriction currently is that extraction fields in [IDP extraction](../../../../../components/modeler/web-modeler/idp/idp-unstructured-extraction.md#extract-fields) will not be case-sensitive.
-This means that if you have a field named `amount`, you can't create another field named `Amount` as the database will treat them as the same.
+