Datenbanken
Auf relationale Datenbanken wird unter anderem von der Replication sowie vom Datenbank basierten Identity Provider aus zugegriffen. Damit der Zugriff auf die Datenbanken ausgeführt werden kann, müssen zuerst zu Ihrem Datenbanksystem passende JDBC-Treiber installiert werden.
Erst nach der Treiberinstallation legen Sie eine Datenbankverbindung an.
Siehe Backend Connections vom Typ |
Treiberinstallation
Wenn Sie Datenbanksysteme verschiedener Hersteller ansprechen möchten, dann führen Sie die Treiberinstallationsschritte für jeden Datenbanktyp durch.
Durch die Treiberinstallation startet der Karaf diverse Bundles neu. Darunter auch das BPC Backend Core Bundle (bpc-be-core). Da in diesem die Benutzersitzungen transient vorgehalten werden, gehen diese durch den Neustart verloren und die Benutzer müssen sich neu anmelden. |
Es wird empfohlen die Datenbanktreiber über die zentrale Konfigurationsdatei zu konfigurieren. In diesem Fall können Sie ein Karaf-Update durchführen, ohne erneut eine Konfiguration vorzunehmen. Es muss lediglich der Datenbanktreiber im neuen Karaf bereitgestellt werden. In dem Fall können Sie die folgenden Punkte ignorieren.
Wenn es den Treiber für unterschiedliche Java Versionen gibt (z.B. bei MSSQL), dann verwenden Sie die Java 11 Version. |
Oracle
-
Möglichkeit : Aktuellster Treiber
-
Eine Internet Verbindung ist zum automatischen Download des aktuellsten Treibers erforderlich
-
Öffnen Sie die Karaf-Konsole und führen Sie folgendes Kommando aus:
feature:install pax-jdbc-oracle
-
-
Möglichkeit : Spezifische Version des Treibers
-
Laden Sie den JDBC-Treiber für Ihre Oracle Version herunter: Download
-
Kopieren Sie den JDBC-Treiber (z.B.
ojdbc8.jar
) in den OrdnerINSTALLATIONSVERZEICHNIS/karaf/deploy
-
Öffnen Sie die Karaf-Konsole und führen Sie folgendes Kommando aus:
feature:install pax-jdbc-oracle
-
Zu Konfigurationen von Oracle-Datenbanken siehe Oracle-Datenbank.
Microsoft SQL Server (MSSQL)
-
Möglichkeit: Relativ aktueller Treiber
-
Eine Internetverbindung ist zum automatischen Download des Treibers erforderlich
-
Öffnen Sie die Karaf-Konsole und führen Sie folgendes Kommando aus:
feature:install pax-jdbc-mssql
-
-
Möglichkeit: Spezifische Version des Treibers
-
Laden Sie den JDBC-Treiber für Ihre MSSQL Version herunter: Download
-
Kopieren Sie den JDBC-Treiber (z.B.
mssql-jdbc-9.2.1.jre11.jar
) in den OrdnerINSTALLATIONSVERZEICHNIS/karaf/deploy
-
Nicht notwendig ist hierbei die Ausführung des Kommandos:
feature:install pax-jdbc-mssql
-
Bitte beachten Sie, dass der interne Treibername bei MSSQL über die verschiedenen Versionen nicht konstant ist. Das bedeutet, dass Sie bei einer Änderung des Treibers evtl. den angegebenen Treibernamen an bestehenden Backend Connections anpassen müssen. |
MariaDB (MySQL)
-
Laden Sie den JDBC-Treiber für Ihre MariaDB Version herunter: Download
-
Kopieren Sie den JDBC-Treiber (z.B.
mariadb-java-client-2.7.3.jar
) in den OrdnerINSTALLATIONSVERZEICHNIS/karaf/deploy
-
Öffnen Sie die Karaf-Konsole und führen Sie folgendes Kommando aus:
feature:install pax-jdbc-mariadb
Überprüfung bei Problemen
Treiber an der richtigen Stelle?
Stellen Sie sicher, dass der passende JDBC-Treiber im Verzeichnis INSTALLATIONSVERZEICHNIS/karaf/deploy
zu finden ist.
Wurde der Treiber vom Karaf erkannt und registriert?
Dazu in der Karaf-Konsole folgendes Kommando ausführen: jdbc:ds-factories
virtimo@bpc()> jdbc:ds-factories Name │ Class │ Version │ Registration bundle ──────────────────┼──────────────────────────┼─────────┼──────────────────────────────── ojdbc6.jar-native │ oracle.jdbc.OracleDriver │ 0.0.0 │ ojdbc6.jar [229] oracle │ oracle.jdbc.OracleDriver │ │ org.ops4j.pax.jdbc.oracle [230]
Wurden alle notwendigen JDBC Features installiert?
Dazu in der Karaf-Konsole folgendes Kommando ausführen: feature:list | grep jdbc
In der Ausgabe müssen Sie sicherstellen, dass sich folgende Features im Status Started
befinden:
-
jdbc
-
pax-jdbc-config
-
pax-jdbc-<datenbankname>
-
pax-jdbc-pool-dbcp2
Sollte z.B. das Feature |
virtimo@bpc()> feature:list | grep jdbc jdbc │ 4.2.8 │ x │ Started │ enterprise-4.2.8 │ JDBC service and commands pax-transx-jdbc │ 0.4.4 │ │ Uninstalled │ pax-transx-0.4.4 │ pax-jdbc-spec │ 1.4.4 │ │ Started │ org.ops4j.pax.jdbc-1.4.4 │ Provides OSGi JDBC Service spec pax-jdbc │ 1.4.4 │ │ Started │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Service support pax-jdbc-config │ 1.4.4 │ x │ Started │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Config support pax-jdbc-db2 │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC DB2 DataSourceFactory pax-jdbc-teradata │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Teradata DataSourceFactory pax-jdbc-derby │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Derby Embedded DataSourceFactory pax-jdbc-derbyclient │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Derby Client DataSourceFactory pax-jdbc-h2 │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC H2 DataSourceFactory pax-jdbc-hsqldb │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC HSQLDB DataSourceFactory pax-jdbc-mariadb │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Mariadb DataSourceFactory pax-jdbc-oracle │ 1.4.4 │ x │ Started │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Oracle DataSourceFactory pax-jdbc-postgresql │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC PostgreSQL DataSourceFactory pax-jdbc-sqlite │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC SQLite DataSourceFactory pax-jdbc-mssql │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC MSSQL DataSourceFactory pax-jdbc-jtds │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC jTDS DataSourceFactory pax-jdbc-pool-dbcp2 │ 1.4.4 │ x │ Started │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Pooling DataSourceFactory pax-jdbc-pool-c3p0 │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Pooling using C3P0 pax-jdbc-pool-hikaricp │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Pooling DataSourceFactory using Hik pax-jdbc-pool-aries │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Pooling DataSourceFactory using Ari pax-jdbc-pool-narayana │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Pooling DataSourceFactory using Nar pax-jdbc-pool-transx │ 1.4.4 │ │ Uninstalled │ org.ops4j.pax.jdbc-1.4.4 │ Provides JDBC Pooling DataSourceFactory using Pax
Datenbankverbindung steht zur Verfügung?
Die im BPC angelegten Datenverbindungen (siehe Backend Connections) müssen auch von der Karaf-Konsole aus angezeigt werden können. Zur Auflistung verwenden Sie folgendes Kommando: jdbc:ds-list
virtimo@bpc()> jdbc:ds-list Name │ Service Id │ Product │ Version │ URL │ Status ─────────────┼────────────┼─────────┼───────────────────────────────────────────────────────────────────────────┼─────────────────────────────────────┼─────── oracle-local │ 245 │ Oracle │ Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production │ jdbc:oracle:thin:@localhost:1521:XE │ OK