Dialogbeschreibungen
Dialog Datenbankverbindungen und Query-Typ
Datenbankverbindung
-
Voreinstellung
Zur Auswahl einer vorkonfigurierten Datenbank, um die Felder Datenbank-URL und Datenbanktreiber-Klasse sinnvoll zu belegen.
Die folgenden Datenbanksysteme werden unterstützt: DB2, H2, MariaDB, Microsoft SQL Server, MySQL, Oracle Thin, and PostgreSQL.
Falls Ihre Datenbank nicht vorhanden ist, wählen Sie die Voreinstellung Custom und füllen Sie die Felder manuell aus.
Das Verwenden einer nicht aufgelisteten Datenbank kann zu unerwarteten Ergebnissen oder zu Fehlern führen. |
Stellen Sie sicher, dass Ihr Eintrag im Feld Datenbanktreiber-Klasse mit dem hochgeladenen Treiber übereinstimmt. Sie können die Datenbanktreiber-Klasse aus der Treiber-Dokumentation entnehmen. |
Für die Datenbank-Anmeldung mit alternativen Authenfizierungsmethoden, zum Beispiel NTLM-Authentifizierung mit SQL Server, ist in der Regel das Einbinden nativer Bibliotheken erforderlich, siehe Einbinden nativer Bibliotheken.
-
Datenbank-URL
Wird vorbelegt, wenn Sie eine vorkonfigurierte Datenbank gewählt haben.
Geben Sie den Host, den Port und den Datenbanknamen an. -
SSL-Konfiguration
Zum Einrichten verschlüsselter Verbindungen mit einem Zertifikat.
Nur für MySQL-Datenbankserver und ohne Verwendung von Connection Pooling.
Die Datenbank-URL muss um folgende Parameter erweitert werden:
-
verifyServerCertificate=true
-
useSSL=true
-
requireSSL=true
Auf dem Format PKCS #12 basierende Keystore-Dateien werden nicht zusammen mit JDK 11 unterstützt.
Zur Unterstützung anderer Keystore-Dateitypen als JKS und PKCS #12 muss die Java-Sicherheit entsprechend konfiguriert werden.
Folgende Optionen können angewählt werden:
-
Server-Authentifizierung
Wenn markiert, dann muss sich der Server, zu dem die Verbindung aufgebaut wird, gegenüber dem Database Connector identifizieren.
Das Icon öffnet einen Dateiexplorer zum Laden der Truststore-Datei mit dem öffentlichen Schlüssel des Servers.
-
Client-Authentifizierung
Wenn markiert, dann muss sich der Database Connector gegenüber dem Server identifizieren. Das Icon öffnet einen Dateiexplorer zum Laden der Keystore-Datei mit dem privaten Schlüssel des Clients.
-
-
Datenbanktreiber-Klasse
Entspricht der JDBC-Verbindung der eingesetzten Datenbank. Um eine andere Datenbank zu verwenden, müssen Sie einen passenden Treiber installieren.
Siehe Bibliotheken verwalten.
Nach der Installation eines JDBC-Treibers für den MS SQL Server müssen Sie die INUBIT Process Engine neu starten.
-
Statische Zugangsdaten verwenden
Geben Sie Benutzer und Passwort an. Die Eingabe ist abhängig von Ihrer Datenbank.
-
Aus dem Credentials Manager auswählen
Für die Authentifizierung können Sie auch Zugangsdaten verwenden, die im Credentials Manager verwaltet werden. Siehe Credentials Manager für die Authentifizierung verwenden.
-
Spezielle Kodierung verwenden
Wenn Sie keinen anderen Zeichensatz angeben, wird standardmäßig UTF-8 benutzt.
-
Connection Pooling
Aktiviert das Connection Pooling.
Wenn das Connection Pooling aktiviert ist, werden physische Verbindungen zu einer Datenbank wiederverwendet. Dies beschleunigt die Abarbeitung der Abfragen. Die Verbindungen werden nach ihrer Verwendung nicht abgebaut, sondern gespeichert und sind für nachfolgende Zugriffe verfügbar. So muss nicht bei jedem Zugriff auf die Datenbank erneut zeitintensiv eine Verbindung aufgebaut werden.
Der Button Einstellungen öffnet den Dialog zur Konfiguration des Connection Poolings.
-
IS Log Datenbank verwenden
Bei Aktivierung von IS Log Datenbank verwenden verbindet sich der Database Connector mit der INUBIT-Logging/ Monitoring-Datenbank. Für die Verbindung wird die Konfiguration der INUBIT Process Engine verwendet, deswegen werden alle anderen Felder in diesem Bereich deaktiviert.
Das Pooling für die interne Datenbank ist im Code hinterlegt. Somit werden bei Aktivierung der Option IS Log Datenbank verwenden die Einstellungsmöglichkeiten des Connection Pooling automatisch deaktiviert.
-
Spezielle Verbindungsparameter
Zum Erstellen von Parametern wie, zum Beispiel Timeouts, Anzahl offener Verbindungen etc., die genutzt werden, um die Datenbankverbindung abhängig von Ihrer verwendeten Datenbank zu konfigurieren. Die Parameter definieren Sie als Name-Wert-Paare.
Verbindungstest
-
Verbindung testen
Zum Testen, ob die Verbindung mit Ihren Angaben erfolgreich aufgebaut werden kann.
Funktion
Mit der Auswahl legen Sie fest, welche Aufgabe der Database Connector ausführen soll:
-
Eingangsnachricht als Query ausführen
Der Database Connector führt Abfragen aus Eingangsnachrichten aus.
Wenn möglich, werden sogenannte prepared statements erzeugt. Wenn die Eingangsnachricht mehrere Abfragen enthält, dann wird überprüft, ob diese denselben Typ haben und auf dieselben Tabellenspalten zugreifen. Wenn ja, dann wird ein Befehl erzeugt, der mehrfach ausgeführt wird. Dieses Vorgehen erhöht die Performance.
-
Statische Query ausführen
Der Database Connector führt eine fest definierte Abfrage aus. Die Abfrage geben Sie im Dialog Dialog Statische SQL-Query ein.
-
Metadaten lesen
Der Database Connector fragt die Struktur der Datenbank und weitere Informationen ab. Diese Informationen benötigen Sie zum Beispiel, wenn Sie in einer Abfrage Tabellen- und Spaltennamen abbilden.
Siehe Metadaten abfragen.
Einstellungen
-
Automatische Typenerkennung der Datenbankobjekte
Wenn markiert, dann werden Datentypen automatisch erkannt. Wenn, zum Beispiel mit der Query ein Datum in die Datenbank eingefügt werden soll, dann wird das Datum korrekt mit dem Typ
Date
übergeben.Für Datenbanken, die Groß- und Kleinschreibung unterscheiden, wie Oracle, PostgreSQL etc.:
Wenn ein Tabellenname in Großbuchstaben existiert, jedoch der Tabellenname in der Query in Kleinbuchstaben angegeben ist, wird die tatsächliche Schreibweise des Tabellennamens automatisch erkannt. Die Query wird dann in der tatsächlichen Schreibweise des Tabellennamens ausgeführt.
-
Typerkennung cachen
Aktivieren Sie die Checkbox, um die Tabellendefinitionen vorzuhalten, damit sie nicht bei jeder Ausführung des Database Connectors von der Datenbank abgefragt werden müssen.
-
Auto Commit (keine Transaktion)
Bei einer Ausführung des Database Connectors können mehrere SQL-Statements ausgeführt werden. Mit dieser Option bestimmten Sie, wann die Änderungen dauerhaft in der Datenbank gespeichert werden:
-
Wenn das Auto-Commit aktiviert ist, dann wird für jede Änderung automatisch ein Commit oder Rollback (im Fehlerfall) durchgeführt.
-
Wenn die Option deaktiviert ist, dann werden alle Änderungen zusammen in einer Transaktion durchgeführt. Falls bei dieser Transaktion ein Fehler auftritt, dann wird keine weitere Änderung ausgeführt und alle vorher bereits ausgeführten Änderungen werden rückgängig gemacht.
-
Fehler überspringen
Wenn aktiviert, dann werden Datenbankanfragen auch ausgeführt, nachdem ein Fehler aufgetreten ist.
-
-
Werte aus der Query trimmen
Bei Werten in Feldern und Bedingungen werden alle vorlaufenden und nachfolgenden Leerzeichen gelöscht. Leerzeichen innerhalb eines Wertes oder einer Bedingung werden nicht bearbeitet.
Dialog Metadaten
In diesem Dialog legen Sie fest, welche Informationen über die Datenbank ausgegeben werden sollen.
Diese Metadaten werden als XML-Nachricht ausgegeben, dabei wird für jedes Metadatum ein XML-Element erzeugt. Sie können die Namen dieser Elemente und des Wurzelelements angeben.
Die Namen müssen folgenden Regeln entsprechen:
Wenn ein Name unzulässig ist, dann erhält das Element den Namen |
Mit einem Klick auf den Button Vorschau erzeugen erhalten Sie eine Vorschau auf das Ausgabeformat der Metadaten.
-
Nur diese Tabelle
Standardmäßig werden die Daten aller Tabellen im Schema ausgelesen. Mit dieser Option könne Sie das Auslesen der Metadaten auf eine Tabelle beschränken.
-
Root-Element
XML-Wurzelelement.
-
Datentyp
Liest den Datentyp der Tabellenspalten in der Datenbank aus.
-
Typ-Bezeichner
Liest die Tabellenspaltennamen aus.
-
Spaltenbreite
Maximale Länge eines Felds in der Tabellenspalte.
-
Dezimalstellen
Zeigt an, wie viele Stellen hinter dem Komma Werte maximal haben dürfen, die in einer Spalte mit Gleitkommazahlen enthalten ist.
-
NULL-Werte
Liest aus, welche Tabellenspalten leere Einträge haben dürfen.
-
Bemerkungen
Liest aus, zu welchen Tabellenspalten Kommentare existieren.
Dialog Statische SQL-Query
In diesem Dialog definieren Sie die statische Query. Die Abfrage darf nur ein SQL-Statement enthalten.
Dialog Ergebnis der Query
In diesem Dialog legen Sie fest, wie das Ergebnis der Query formatiert werden soll. Mithilfe der Vorschau können Sie die Formatierung überprüfen.
Format des Ergebnisses
-
Textwerte aus der Datenbank trimmen
Bei Textfeldern werden vorlaufende und nachfolgende Leerzeichen gelöscht. Leerzeichen, die nicht am Anfang oder am Ende eines Textfeldes stehen, werden ignoriert.
-
NULL-Werte durch Attribut kennzeichnen
Damit ist es möglich, in der Ausgabe-Nachricht zwischen einem leeren Wert und dem Wert NULL zu unterscheiden. Der Wert NULL wird mit dem Attribut
Value null="true"
gekennzeichnet. -
Ergebnis immer mit ResultSets-Tag umhüllen
Wenn markiert, dann wird z.B. als Ergebnis eines einfachen Inserts eines Datensatzes
<ResultSets> <rows>1</rows> </ResultSets>
ausgegeben, statt nur
<rows>1</rows>
-
Datums- und Zeitfelder im XML-Schema Format ausgeben
Wenn markiert, dann werden Zeit- und Datumsstempel im entsprechenden Format einschließlich der Angabe von Zeitzonen mit ausgegeben, z.B. 2009-10-19T12:25:09.00+02. Ansonsten wird die Datums- und Zeitangabe ohne Zeitzone in der lokalen Zeit ausgegeben.
Bezeichner der XML-Elemente
In den Textfeldern bestimmen Sie die Namen der Elemente, die in der XML-Ausgangsnachricht angelegt werden.
-
Formatierungstyp
-
Unkomprimiert
Die Ergebnisse werden durch Elemente gekapselt. Sie können die Elementbezeichner manuell ändern. Beispiel:
<ResultSet> <Row> <Column id="1"> <Name>Street</Name> <Value>Unter den Linden</Value> </Column> </Row> </ResultSet>
-
Komprimiert
Die Ergebnisse werden durch Elemente gekapselt (außer Feldnamen und -werte). Sie können die Elementbezeichner ändern. Beispiel:
<ResultSet> <R> <C>Street</C> </R> <R> <C>Unter den Linden</C> </R> </ResultSet>
-
Namen als Tags
Die Namen der Spalten werden als Element-Namen verwendet. Falls die Spaltennamen nicht den Konventionen von XML-Elementen entsprechen, werden die Elemente mit
InvalidXmlTag
angelegt und der Spaltenname wird als Wert des AttributsName
ausgegeben. -
Benutzerdefiniert
Alternativ können Sie zur Ausgabe eine Java-Klasse nutzen, welche das SQL-Ergebnis nach XML umformt. Geben Sie den kompletten Namen ein.
Die Java-Klasse muss das Interface
com.inubit.ibis.utils.query.ResultSetOutput
(im SDK enthalten) implementieren.
-
-
Zeilennummer
Wenn markiert, dann wird bei den Elementen ROW und COLUMN das Attribut ID mit dem Wert der jeweiligen laufenden Nummer ausgegeben, z.B.:
<ResultSet> <Row id="1"> <Column id="1">Name</Column> <Column id="2">Street</Column> </Row> </ResultSet>
Vorschau
Mit einem Klick auf den Button Vorschau erzeugen erhalten Sie eine Vorschau auf das Ausgabeformat der Query.
Dialog Datenbank Connection Pooling
In diesem Dialog konfigurieren Sie das Connection Pooling.
Wenn das Connection Pooling aktiviert ist, werden physische Verbindungen zu einer Datenbank wiederverwendet. Dies beschleunigt die Abarbeitung der Abfragen. Die Verbindungen werden nach ihrer Verwendung nicht abgebaut, sondern gespeichert und sind für nachfolgende Zugriffe verfügbar. So muss nicht bei jedem Zugriff auf die Datenbank erneut zeitintensiv eine Verbindung aufgebaut werden.
Wiederverwendung des Connection Pools: Alle Database Connectoren sowie Database Object Connectoren, bei denen die Werte der Einstellungen Datenbank-URL, Benutzer, Passwort und Auto Commit übereinstimmen, verwenden denselben Connection Pool und müssen mit identischen Connection Pool-Einstellungen konfiguriert werden. |
Verbindungspooling
-
Max. Anzahl aktiver Verbindungen im Pool
Legt fest, wie viele Verbindungen gleichzeitig aktiv sein dürfen. Eine zu kleine Anzahl von Verbindungen im Connection Pool kann zu Wartezeiten führen; eine zu große Zahl kann das Datenbanksystem unnötig belasten, weil alle Verbindungen einen gewissen Verwaltungsaufwand seitens des Datenbanksystems erfordern.
-
Max. Anzahl inaktiver Verbindungen im Pool
Legt fest, wie viele Verbindungen im Connection Pool gleichzeitig inaktiv sein dürfen.
-
Min. Anzahl inaktiver Verbindungen im Pool
Legt fest, wie viele inaktive Verbindungen der Connection Pool immer hält.
-
Min. Zeit für inaktive Verbindungen im Pool
Zeit, in der eine ungenutzte Verbindung im Pool offen bleibt, bis sie geschlossen wird.
-
Zeit zwischen Prüfung inaktiver Verbindungen
Zeit zwischen zwei Prüfungen inaktiver Verbindungen. Angabe in Millisekunden.
-
Max. Zeit des Pools, um auf eine Verbindung zu warten
Legen Sie fest, wie lange der Pool höchstens warten soll, bis der Connector eine Connection vom Pool erhält.
Stellen Sie sicher, dass die maximale Zeit, die die Datenbank auf eine Verbindung wartet, kleiner ist als der Standard-Timeout des Database Connector-Modul.
In der folgenden Tabelle sind Timeout-Parameter für mehrere Datenbanken aufgelistet. Klicken Sie auf Spezielle Verbindungsparameter und setzen Sie im Dialog Verbindungsparameter die Parameter, die für die Datenbank passen, mit der der Database Connector verbunden werden soll.
Datenbanktyp Name der Verbindungs-Timeouts Name des Lese-Timeouts Oracle
oracle.net.CONNECT_TIMEOUT
oracle.jdbc.ReadTimeout
MySQL
connectTimeout
socketTimeout
SQL Server
loginTimeout
H2
h2.socketConnectTimeout
PostgreSQL
connectTimeout
socketTimeout
DB2
loginTimeout
blockingReadConnectionTimeout
-
Max. Alter einer Verbindung (ms)
Eine Verbindung wird geschlossen, wenn das Alter in Millisekunden abgelaufen ist.
-
JMX MBeans für das Tomcat Connection Pool Monitoring aktivieren.
Bei Aktivierung wird die Eigenschaft
jmxEnabled
gesetzt und ermöglicht so das Monitoring des Tomcat JDBC Connection Pools mittels MBean. -
Abgebrochene Verbindungen entfernen
Ein Indikator, der Verbindungen entfernt, die einen bestimmten Timeout-Schwellenwert überschreiten.
-
Zeitspanne, bevor abgebrochene Verbindung(en) entfernt werden
Zeitspanne in Sekunden, bevor eine abgebrochene (in Gebrauch befindliche) Verbindung entfernt werden kann. Der Standardwert ist auf 60 Sekunden festgelegt.
Validierung
Der Pool nutzt eine Verbindung erst nach einer erfolgreichen Prüfung. Falls die Prüfung fehlschlägt, wird eine neue Verbindung erzeugt. Damit werden Fehler am Database Connector vermieden und die Stabilität bei hoch ausgelasteten Datenbanken wird verbessert.
-
Test beim Entnehmen von Verbindungen aus dem Pool
Testet eine Datenbankverbindung des Pools auf Funktionalität, wenn diese aus dem Connection Pool genommen wird.
-
Test beim Zurücklegen von Verbindungen in den Pool
Testet eine Datenbankverbindung des Pools auf Funktionalität, wenn diese nach der Benutzung zurückgelegt wird.
-
Test, während die Verbindungen inaktiv sind
Testet eine Datenbankverbindung des Pools auf Funktionalität, während sie nicht verwendet wird.
-
Test, wenn die Verbindung zum ersten Mal erstellt wird
Testet die Funktionalität einer Datenverbindung des Pools, wenn die Verbindung zum ersten Mal erstellt wird.
-
Validierungsintervall (ms) (nur auswählbar, wenn mindestens eine der Optionen im Abschnitt Validierung aktiviert ist)
Die Funktionalität inaktiver Verbindungen wird erneut getestet, wenn das Validierungsintervall in Millisekunden abgelaufen ist.
-
Zeit, die der Pool auf Validierungsanfragen wartet (s) (nur auswählbar, wenn mindestens eine der Optionen im Abschnitt Validierung aktiviert ist)
Zeit in Sekunden, die der Pool auf die Antwort auf eine Validierungsanfrage wartet
-
Validierung SQL-Query (nur auswählbar, wenn mindestens eine der Optionen im Abschnitt Validierung aktiviert ist)
Prüft und validiert die Verbindung mit einer SQL-Query. Mit starten Sie den Test.
-
Test beim erstmaligen Erzeugen einer Verbindung
Testet eine Datenbankverbindung des Pools auf Funktionalität, wenn diese erstmalig erzeugt wird.
-
Setze Vorgabewerte (Button)
Stellt die ausgelieferten Standardwerte wieder her.