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 module guide 1037 2 ö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 module guide 1038 1 ö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.

    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.

  • 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.

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:

  • Namen können Buchstaben, Ziffern und andere Zeichen enthalten.

  • Namen dürfen nicht mit einer Zahl oder einem Satzzeichen beginnen.

  • Namen dürfen nicht mit xml, XML, Xml etc. beginnen).

  • Namen dürfen keine Leerzeichen enthalten.

Wenn ein Name unzulässig ist, dann erhält das Element den Namen InvalidXmlTag. Die Metadaten werden als Wert des name-Attributs ausgegeben.

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 Attributs Name 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 module guide 1043 0 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.