Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Konfiguration des JDBC-Sender-Adapters Dokument im Navigationsbaum lokalisieren

Verwendung

Sie konfigurieren den JDBC-Sender-Adapter, um damit Inhalte aus Datenbanken an den Integration Server oder an das PCK zu versenden.

Integration

Die Adapterkonfiguration ist Teil der Festlegung eines Kommunikationskanals im StrukturlinkIntegration Server oder im PCK und wird auf der Registerkarte Parameter vorgenommen. Zusätzlich zur Adapterkonfiguration können auf der Registerkarte Module im Modul-Prozessor generische Module angegeben werden, die den Adapter mit Zusatzfunktionen ausstatten.

Bedingung für Sendervereinbarung

Der Adapter ermittelt gemäß seiner Konfiguration die Payload der XI-Message. Die Informationen des Message-Header werden dagegen aus der zum Kommunikationskanal gehörenden Sendervereinbarung ermittelt.

Für die Definition der Sendervereinbarung ergeben sich für den Adapter folgende Bedingungen:

·        Es muss genau eine Sendervereinbarung für den hier definierten Kommunikationskanal geben.

·        In der Sendervereinbarung müssen mindestens der Interface-Name und der Sender-Service qualifiziert sein. Alle anderen Felder sind optional gemäß den allgemeinen Regeln zur Definition von Sendervereinbarungen.

Voraussetzungen

       1.      Sie haben einen Kommunikationskanal angelegt oder einen bestehenden Kommunikationskanal geöffnet.

       2.      Sie haben auf der Registerkarte Parameter den Adaptertyp JDBC ausgewählt.

       3.      Sie haben den Adapter über den Auswahlknopf Sender als Sender-Adapter definiert.

Aktivitäten

Transport-Protokoll

Das Transport-Protokoll heißt JBDC 2.0.

Message-Protokoll

JDBC

In zukünftigen Versionen können weitere Werte hinzukommen.

Adapter-Engine

Wählen sie die Adapter-Engine auf dem Integration Server aus oder wählen Sie eine dezentral installierte Adapter-Engine aus. Im PCK ist diese Auswahl nicht möglich.

Datenbankverbindung

Feld

Eingabe

JDBC-Treiber

Java-Klasse des JDBC-Treibers, die der JDBC-Adapter laden muss, um auf den Treiber zugreifen zu können.

Die Angabe variiert je nach JDBC-Treiber und muss aus den Unterlagen des jeweiligen Anbieters hervorgehen.

Verbindung

Adresse, unter der über den JDBC-Treiber eine Datenbankverbindung geöffnet werden kann.

Die Angabe variiert je nach JDBC-Treiber und muss aus den Unterlagen des jeweiligen Anbieters hervorgehen.

Benutzername

Benutzer für die zu lesende Datenbank.

Kennwort

Kennwort für die zu lesende Datenbank mit Bestätigung.

Verarbeitungsparameter

Parameter

Eingabe

Quality-of-Service

Gibt an, wie eine Message durch den Integration Server/das PCK verarbeitet werden soll.

Best Effort

(synchrone Verarbeitung)

Exactly Once

(asynchrone Verarbeitung)

Exactly Once In Order

(asynchrone Verarbeitung über Queues, d.h. einmalige Ausführung unter Beibehaltung der Reihenfolge aufeinander folgender Nachrichten)

Geben Sie den Queue-Namen an.

Poll-Intervall (Sek.)

Anzahl Sekunden, die der Adapter warten soll, wenn keine Dateien zur Verarbeitung gefunden werden.

Poll-Intervall (mSek.)

Zusätzliche Wartezeit in Millisekunden.

Wenn Poll-Intervall (Sek.) auf Null gesetzt ist, lassen sich kurze, echtzeitnahe Verarbeitungszeiten erreichen.

Sind Poll-Intervall (Sek.) und Poll-Intervall (mSek.) auf Null gesetzt, so findet ein einmaliger Aufruf des Adapters statt.

Wiederholungsintervall (Sek.)

Anzahl Sekunden, die der Adapter warten soll, bis ein fehlerhaft verarbeitetes SQL-Statement erneut verarbeitet wird.

Hinweis

Falls keine Angabe erfolgt, dann wird der Wert unter Poll-Intervall (Sek.) genommen.

SQL-Anweisung für Query

Sie haben folgende Eingabealternativen:

·        Geben Sie eine gültige SQL SELECT Anweisung an, um die zu verschickenden Daten aus der spezifizierten Datenbank auszuwählen.

·        Geben Sie eine SQL EXECUTE-Anweisung an, um eine Stored Procedure auszuführen, die genau eine SELECT-Anweisung enthält.

Der Ausdruck muss der vom jeweiligen JDBC-Treiber unterstützten SQL-Varinate entsprechen. Er kann auch Tabellen-JOINs enthalten.

Dokumentname

Dieser Dokumentname wird in der Message als Haupt-XML-Tag eingefügt. Der Voragabewert ist resultset.

Dokumentnamensraum

Der Namensraum wird dem Dokumentnamen hinzugefügt.

Beispiel

Beispiel, siehe unten.

 

SQL-Anweisung für Update

Sie haben folgende Eingabealternativen:

·        Geben Sie eine gültige SQL-Anweisung ein, die nach dem erfolgreichen Verschicken der unter SQL-Anweisung für Query ermittelten Daten an den Integration Server/an das PCK auf die Datenbank angewendet werden soll.

Es muss sich um eine INSERT-, UPDATE- oder DELETE-Anweisung handeln.

·        Anstelle der SQL-Anweisung kann <TEST> eingegeben werden. Nach erfolgreichem Verschicken der unter Query SQL Statement ermittelten Daten bleiben die Daten in der Datenbank unverändert.

Diese Eingabe ist sinnvoll, wenn die Daten durch eine Eingabe unter SQL-Anweisung für Query definierte Stored Procedure nicht nur gelesen, sondern bereits verändert wurden.

Betriebssystembefehl ausführen

·        Kommandozeile

Geben Sie einen Betriebssystembefehl an, der nach erfolgreichen Datenbankoperationen ausgeführt wird.

·        Timeout (secs)

Geben Sie hier die maximale Laufzeit des auszuführenden Programms in Sekunden an. Nach Ablauf der Zeitspanne fährt der Adapter mit der Verarbeitung fort. Das ausführbare Programm läuft im Hintergrund weiter.

·        Programm nach Timeout abbrechen

Setzen Sie das Kennzeichen, wenn der Adapter nach Ablauf des Timeout das auszuführende Programm abbrechen soll.

Der Adapter schreibt die Ausgaben (STDOUT und STDERR) des Betriebssystembefehls in den System-Trace.

Adapterstatus

Setzen Sie den Adapter Aktiv, um ihn für den Message-Austausch einzusetzen.

Erweiterter Modus

Um zusätzliche Parameter für die Adapterkonfiguration anzugeben, setzen Sie das Kennzeichen Erweiterter Modus.

Datenbank-Transaktionssicherheitsstufe

Datenbanktransaktionen können in verschiedenen Abstufungen (Isolation-Levels) betrieben werden. Der JDBC-Adapter verwendet standardmäßig die höchste Isolierungsstufe (serializable), um Datenbankinkonsistenzen durch parallele Datenbanktransaktionen zu vermeiden. Bei einigen JDBC-Treibern kann eine Reduzierung dieses Level notwendig sein, wenn der Treiber bzw. das Datenbankprodukt diesen Level nicht unterstützt. Eine Reduzierung des Level kann zu Lasten der Transaktionssicherheit und der Datenintegrität gehen. Daher sollten Sie eine Reduktion nur vornehmen, wenn sie unbedingt erforderlich ist. Die zur Auswahl stehenden Optionen entsprechen den JDBC-Konstanten:

·        None

·        read-uncommited

·        read-commited

·        repeatable_read

·        serializable

Achtung

Die Sicherheitsstufe sollte nur wenn nötig und nur so weit wie benötigt reduziert werden. Gegebenenfalls muss dann aber anderweitig sichergestellt werden, dass keine Dateninkonsistenzen in der Datenbank erzeugt werden können, d.h. in der Regel müssen parallele Zugriffe unterbunden werden.

Auto-Commit für Datenbank aktiviert (keine Transaktionssicherheit)

Setzen Sie das Kennzeichen, wenn die Transaktionsklammer, die der JDBC-Adapter benötigt um die konsistente Daten in der Datenbank sicher zu stellen, abgeschaltet werden soll.

Diese Option wird für JDBC-Treiber benötigt, die keine Transaktionen unterstützen. Es muss dann aber anderweitig sichergestellt werden, dass keine Dateninkonsistenzen in der Datenbank erzeugt werden können, d.h. in der Regel müssen parallele Zugriffe unterbunden werden.

Achtung

Setzen sie dieses Kennzeichen nicht, wenn der JDBC-Treiber Transaktionen unterstützt, d.h. keine entsprechende Fehlermeldung im Normalbetrieb kommt.

Nach Verarbeiten jeder Message Verbindung zur Datenbank aufheben

Setzen Sie das Kennzeichen, wenn vor jedem Poll-Intervall die Datenbank-Verbindung freigegeben und anschließend neu aufgebaut werden soll.

Tabelle

Geben Sie die Parameternamen und -werte in der Tabelle an.

Hinweis

Zusätzliche Parameter werden über SAP-Hinweis 801367 veröffentlicht.

Beispiel

Das System setzt die Tabelle, die aus der SQL-Anweisung für Query resultiert, in ein gültiges XML-Dokument um und schickt es an die Integration Engine. Das Dokument sieht folgendermaßen aus:

<resultset>

<row>

<column-name1>column-value</ column-name1>

<column-name2>column-value</ column-name2>

<column-name3>column-value</ column-name3>

</row>

<row>

<column-name1>column-value</ column-name1>

<column-name2>column-value</ column-name2>

<column-name3>column-value</ column-name3>

</row>

</resultset>

Ende des Inhaltsbereichs