Skip to content

Commit e739144

Browse files
committed
complete initial draft
2 parents abc667b + ee2e24b commit e739144

5 files changed

Lines changed: 88 additions & 28 deletions

File tree

data/integrations.yml

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -264,26 +264,24 @@ integrations:
264264
- name: PostgreSQL
265265
icon: ":simple-postgresql:"
266266
content: |
267-
PostgreSQL can be accessed with the {{p.Jdbc}} dataset and a
268-
[JDBC driver](https://central.sonatype.com/artifact/org.postgresql/postgresql/versions).
267+
PostgreSQL can be accessed with the {{p.Jdbc}} dataset (JDBC driver included).
269268
270269
- name: MariaDB
271270
icon: ":simple-mariadb:"
272271
content: |
273272
MariaDB can be accessed with the {{p.Jdbc}} dataset and a
274-
[JDBC driver](https://central.sonatype.com/artifact/org.mariadb.jdbc/mariadb-java-client/overview).
273+
[Custom JDBC driver](https://central.sonatype.com/artifact/org.mariadb.jdbc/mariadb-java-client/overview).
275274
276275
- name: SQLite
277276
icon: ":simple-sqlite:"
278277
content: |
279278
SQLite can be accessed with the {{p.Jdbc}} dataset and a
280-
[JDBC driver](https://central.sonatype.com/artifact/org.xerial/sqlite-jdbc).
279+
[Custom JDBC driver](https://central.sonatype.com/artifact/org.xerial/sqlite-jdbc).
281280
282281
- name: MySQL
283282
icon: ":simple-mysql:"
284283
content: |
285-
MySQL can be accessed with the {{p.Jdbc}} dataset and a
286-
[JDBC driver](https://central.sonatype.com/artifact/org.mariadb.jdbc/mariadb-java-client/overview).
284+
MySQL can be accessed with the {{p.Jdbc}} dataset (JDBC driver included).
287285
288286
- name: Hive
289287
icon: ":simple-apachehive:"
@@ -293,14 +291,12 @@ integrations:
293291
- name: Microsoft SQL
294292
icon: ":material-microsoft:"
295293
content: |
296-
The Microsoft SQL Server can be accessed with the {{p.Jdbc}} dataset and a
297-
[JDBC driver](https://central.sonatype.com/artifact/com.microsoft.sqlserver/mssql-jdbc).
294+
The Microsoft SQL Server can be accessed with the {{p.Jdbc}} dataset (JDBC driver included).
298295
299296
- name: Snowflake
300297
icon: ":simple-snowflake:"
301298
content: |
302-
Snowflake can be accessed with the {{p.SnowflakeJdbc}} dataset and a
303-
[JDBC driver](https://central.sonatype.com/artifact/net.snowflake/snowflake-jdbc).
299+
Snowflake can be accessed with the {{p.SnowflakeJdbc}} dataset (JDBC driver included).
304300
305301
- name: pgvector
306302
icon: ":black_large_square:"
@@ -312,13 +308,14 @@ integrations:
312308
icon: ":simple-trino:"
313309
content: |
314310
[Trino](https://github.com/trinodb/trino) can be access with the
315-
{{p.Jdbc}} dataset and a [JDBC driver](https://trino.io/docs/current/client/jdbc.html).
311+
{{p.Jdbc}} dataset and a [Custom JDBC driver](https://trino.io/docs/current/client/jdbc.html).
312+
Please have a look at
313+
[Setup and use of JDBC Drivers](../../deploy-and-configure/configuration/dataintegration/jdbc/)
316314
317315
- name: Databricks
318316
icon: ":simple-databricks:"
319317
content: |
320318
[Databricks](http://databricks.com/) can be accessed with the {{p.Jdbc}} dataset and a
321319
[Custom JDBC driver](https://github.com/databricks/databricks-jdbc).
322320
Please have a look at
323-
[Setup additional JDBC Drivers](../../deploy-and-configure/configuration/dataintegration/jdbc/).
324-
321+
[Setup and use of JDBC Drivers](../../deploy-and-configure/configuration/dataintegration/jdbc/).

docs/build/integrations/index.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ to interact with any [Azure AI Foundry provided Large Language Models](https://a
5454
[Databricks](http://databricks.com/) can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset and a
5555
[Custom JDBC driver](https://github.com/databricks/databricks-jdbc).
5656
Please have a look at
57-
[Setup additional JDBC Drivers](../../deploy-and-configure/configuration/dataintegration/jdbc/).
57+
[Setup and use of JDBC Drivers](../../deploy-and-configure/configuration/dataintegration/jdbc/).
5858

5959

6060
- :material-email-outline:{ .lg .middle } eMail / SMTP
@@ -145,7 +145,7 @@ GraphDB can be used as the integrated Quad Store as well.
145145
---
146146

147147
MariaDB can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset and a
148-
[JDBC driver](https://central.sonatype.com/artifact/org.mariadb.jdbc/mariadb-java-client/overview).
148+
[Custom JDBC driver](https://central.sonatype.com/artifact/org.mariadb.jdbc/mariadb-java-client/overview).
149149

150150

151151
- :simple-mattermost:{ .lg .middle } Mattermost
@@ -160,16 +160,14 @@ the [Send Mattermost messages](../../build/reference/customtask/cmem_plugin_matt
160160

161161
---
162162

163-
The Microsoft SQL Server can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset and a
164-
[JDBC driver](https://central.sonatype.com/artifact/com.microsoft.sqlserver/mssql-jdbc).
163+
The Microsoft SQL Server can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset (JDBC driver included).
165164

166165

167166
- :simple-mysql:{ .lg .middle } MySQL
168167

169168
---
170169

171-
MySQL can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset and a
172-
[JDBC driver](https://central.sonatype.com/artifact/org.mariadb.jdbc/mariadb-java-client/overview).
170+
MySQL can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset (JDBC driver included).
173171

174172

175173
- :simple-neo4j:{ .lg .middle } Neo4J
@@ -256,8 +254,7 @@ using the [Search Vector Embeddings](../../build/reference/customtask/cmem_plugi
256254

257255
---
258256

259-
PostgreSQL can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset and a
260-
[JDBC driver](https://central.sonatype.com/artifact/org.postgresql/postgresql/versions).
257+
PostgreSQL can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset (JDBC driver included).
261258

262259

263260
- :other-powerbi:{ .lg .middle } PowerBI
@@ -317,8 +314,7 @@ execute a [SOQL query (Salesforce)](../../build/reference/customtask/cmem_plugin
317314

318315
---
319316

320-
Snowflake can be accessed with the [Snowflake SQL endpoint](../../build/reference/dataset/SnowflakeJdbc.md) dataset and a
321-
[JDBC driver](https://central.sonatype.com/artifact/net.snowflake/snowflake-jdbc).
317+
Snowflake can be accessed with the [Snowflake SQL endpoint](../../build/reference/dataset/SnowflakeJdbc.md) dataset (JDBC driver included).
322318

323319

324320
- :simple-apachespark:{ .lg .middle } Spark
@@ -333,7 +329,7 @@ execute a [SOQL query (Salesforce)](../../build/reference/customtask/cmem_plugin
333329
---
334330

335331
SQLite can be accessed with the [Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset and a
336-
[JDBC driver](https://central.sonatype.com/artifact/org.xerial/sqlite-jdbc).
332+
[Custom JDBC driver](https://central.sonatype.com/artifact/org.xerial/sqlite-jdbc).
337333

338334

339335
- :material-ssh:{ .lg .middle } SSH
@@ -360,7 +356,9 @@ Tentris can be used as the integrated Quad Store as well (beta).
360356
---
361357

362358
[Trino](https://github.com/trinodb/trino) can be access with the
363-
[Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset and a [JDBC driver](https://trino.io/docs/current/client/jdbc.html).
359+
[Remote SQL endpoint](../../build/reference/dataset/Jdbc.md) dataset and a [Custom JDBC driver](https://trino.io/docs/current/client/jdbc.html).
360+
Please have a look at
361+
[Setup and use of JDBC Drivers](../../deploy-and-configure/configuration/dataintegration/jdbc/)
364362

365363

366364
- :black_large_square:{ .lg .middle } Virtuoso

docs/deploy-and-configure/configuration/dataintegration/jdbc/index.md

Lines changed: 68 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,73 @@ tags:
33
- Configuration
44
- JDBC
55
---
6-
# Setup additional JDBC Drivers
6+
# Setup and use of JDBC Drivers
77

8-
In addition to the shipped default JDBC drivers (MariaDB, PostgreSQL, ...), Corporate Memory can be extended with custom JDBC drivers.
9-
This page describes the steps how to configure and use these additional drivers.
8+
Corporate Memory allows to use JDBC to connect to Database Management Systems (DBMS).
9+
We ship some drivers as part of our platform.
10+
Custom drivers can be added and used, too.
1011

12+
!!! info "References"
13+
14+
For more technical details also check the following reference pages:
15+
16+
- [Remote SQL endpoint](../../../../build/reference/dataset/Jdbc.md) and
17+
- [Snowflake SQL endpoint](../../../../build/reference/dataset/SnowflakeJdbc.md).
18+
19+
## Embedded JDBC Driver
20+
21+
Our platform contains and ship the following JDBC drivers:
22+
23+
- PostgreSQL (`postgresql v42.7.10`)
24+
- MariaDB (includes support for MySQL, `mariadb-java-client v3.5.7`)
25+
- Microsoft SQL Server (`mssql-jdbc v13.2.1.jre11`)
26+
- Snowflake (`snowflake-jdbc v3.28.0`)
27+
28+
## Custom JDBC Driver
29+
30+
In addition to the shipped default JDBC drivers custom JDBC drivers can be registered.
31+
The following steps describe how they are configured.
32+
33+
### Download Custom JDBC Driver
34+
35+
Download the respective JDBC driver for the Database Management Systems that need to be connected.
36+
[Integrations](../../../../build/integrations/index.md) provides links for well know system and at the same time lists those that are in active use with Corporate Memory.
37+
38+
### Provide a Custom JDBC Driver
39+
40+
Consult your solutions manager or DevOps specialist for options how to copy / inject additional files, namely the JDBC driver `jar`, into a Corporate Memory deployment.
41+
Depending on the specific deployment model used the suitable options differ, some possibilities:
42+
43+
- the docker compose package `cmem-orchestration` mounts the folder `./conf/dataintegration/plugin/` into the DataIntegration container (this location is assumed in the configuration snippets below and mapped to the container internal path `/opt/cmem/eccenca-DataIntegration/dist/etc/dataintegration/conf/plugin/`),
44+
- a dedicated Build project into which the driver jar files are uploaded as project (file) resources,
45+
- dedicated file or resource mounts in a docker compose or helm/kubernets configuration.
46+
47+
## Driver Registration
48+
49+
A custom JDBC driver needs to be registered in the DataIntegration configuration file, `dataintegration.conf`, `spark.sql.options` section.
50+
The following example demonstrates how to register the custom JDBC driver for the Databricks data lakehouse:
51+
52+
```conf
53+
54+
spark.sql.options {
55+
56+
# driver name
57+
jdbc.drivers = "databricks"
58+
# path to the jar in the docker container
59+
jdbc.databricks.jar = "/opt/cmem/eccenca-DataIntegration/dist/etc/dataintegration/conf/plugin/DatabricksJDBC.jar"
60+
# class name
61+
jdbc.databricks.name = "com.databricks.client.jdbc.Driver"
62+
63+
}
64+
65+
```
66+
67+
## Use the driver
68+
69+
JDBC drivers are used via the **Remote SQL endpoint** (or **Snowflake SQL endpoint**) dataset type.
70+
71+
![](jdbc-dataset.png){ class="bordered" width="85%" }
72+
73+
They can be configured in the configuration dialog of the dataset, consult the documentation of your DBMS / JDBC driver for details about the [JDBC connection string](https://www.baeldung.com/java-jdbc-url-format).
74+
75+
![](jdbc-config-databricks.png){ class="bordered" width="100%" }
391 KB
Loading
79.4 KB
Loading

0 commit comments

Comments
 (0)