WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Datenbank-Knoten

Verwenden Sie den Datenbank-Knoten zur Interaktion mit einer Datenbank innerhalb der angegebenen ODBC-Datenquelle.

Zweck

Die Art der Interaktion wird über ESQL-Anweisungen definiert, die die Daten der Eingabenachricht festlegen, sie nötigenfalls umwandeln (z. B. zwecks Berechnung) und das Ergebnis in eine Datenbanktabelle schreiben.

Sie können eine Eigenschaft festlegen, um zu steuern, ob die Datenbank sofort oder erst nach Beendigung des Nachrichtenflusses aktualisiert wird und zu welchem Zeitpunkt die Aktualisierung entsprechend dem Gesamtbeendigungsstatus des Nachrichtenflusses festgeschrieben oder zurückgesetzt wird.

Der Datenbank-Knoten befindet sich im Ablagefach Datenbank der Palette und wird in der WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:

Symbol für Datenbankknoten

Verwendung dieses Knotens in einem Nachrichtenfluss

Die folgenden Beispielprogramme verdeutlichen die Verwendung dieses Knotens:

Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im WebSphere Message Broker Toolkit integrierte Information Center verwendet wird.

Stellen Sie sich vor, Sie erhalten einen Auftrag über 20 Monitore. Wenn Sie genügend Monitore auf Lager haben, sollten Sie den Bestand Ihrer Warenbestandsdatenbank verringern. Mit dem Datenbank-Knoten können Sie prüfen, ob ausreichend Monitore verfügbar sind, und den Wert im Mengenfeld in der Datenbank verringern.

Terminals und Eigenschaften

Nachdem Sie eine Instanz des Datenbank-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie den Knoten konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Die Eigenschaften des Knotens werden in der Ansicht 'Eigenschaften' angezeigt. Alle verbindlichen Eigenschaften, für die Sie einen Wert eingeben müssen (d. h. Eigenschaften ohne definierten Standardwert), sind mit einem Sternchen gekennzeichnet.

In der folgenden Tabelle werden die Terminals des Datenbank-Knotens beschrieben. Weitere Informationen zur Anweisung PROPAGATE, einschließlich ihrer Syntax, finden Sie im Abschnitt PROPAGATE-Anweisung.

Terminal Beschreibung
Eingabeterminal (In) Das Eingabeterminal, das eine Nachricht zur Verarbeitung durch einen Knoten annimmt
Fehlerterminal (Failure) Das Ausgabeterminal, an das die Eingabenachricht geleitet wird, wenn während der Berechnung ein Fehler auftritt. Wenn Sie die Option Warnungen als Fehler behandeln ausgewählt haben, gibt der Knoten die Nachricht auch dann an dieses Terminal weiter, wenn die Verarbeitung erfolgreich beendet wird.
Ausgang Das Ausgabeterminal, an das die umgewandelte Nachricht bei erfolgreicher Verarbeitung im Knoten geleitet wird. Die umgewandelte Nachricht kann auch durch eine PROPAGATE-Anweisung an dieses Terminal geleitet werden.
Ausgabeterminal1 Das erste alternative Ausgabeterminal, an das die umgewandelte Nachricht durch eine PROPAGATE-Anweisung geleitet werden kann.
Ausgabeterminal2 Das zweite alternative Ausgabeterminal, an das die umgewandelte Nachricht durch eine PROPAGATE-Anweisung geleitet werden kann.
Ausgabeterminal3 Das dritte alternative Ausgabeterminal, an das die umgewandelte Nachricht durch eine PROPAGATE-Anweisung geleitet werden kann.
Ausgabeterminal4 Das vierte alternative Ausgabeterminal, an das die umgewandelte Nachricht durch eine PROPAGATE-Anweisung geleitet werden kann.

In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss, weil kein Standardwert definiert ist). Die Spalte K zeigt an, ob die Eigenschaft konfigurierbar ist (Wert kann geändert werden, wenn der Nachrichtenfluss zur BAR-Datei hinzugefügt wird, um ihn einzusetzen).

In der folgenden Tabelle werden die Beschreibungseigenschaften des Datenbank-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
Knotenname Nein Nein Knotentyp Datenbankknoten Der Name des Knotens.
Kurzbeschreibung Nein Nein   Kurze Beschreibung des Knotens.
Ausführliche Beschreibung Nein Nein   Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt

In der folgenden Tabelle werden die grundlegenden Eigenschaften des Datenbank-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
Datenquelle Nein Ja   Der Name der ODBC-Datenquelle für die Datenbank mit den Tabellen, auf die Sie in der mit diesem Knoten verknüpften ESQL-Datei verweisen (wie unter der Eigenschaft Anweisung festgelegt).

Dieser Name gibt den Namen der entsprechenden Datenbank an, unter dem sie in dem System, auf dem dieser Nachrichtenfluss ausgeführt werden soll, gespeichert ist. Der Broker stellt mit der Benutzer-ID und dem Kennwort, die Sie im Befehl mqsisetdbparms angegeben haben, eine Verbindung zu dieser Datenbank her.

Wenn der ESQL-Code, der diesem Knoten zugeordnet ist, eine PASSTHRU-Anweisung oder SELECT-Funktion und einen Datenbankverweis enthält, müssen Sie für die Eigenschaft Datenquelle einen Wert angeben.

dataSource
Anweisung Nein Nein Datenbank Der Name des Moduls in der ESQL-Datei, welche die für die Datenbank zu verwendenden Anweisungen enthält. Wenn der Modulname ein oder mehrere Leerzeichen enthalten soll, geben Sie ihn in Anführungszeichen an.

Die ESQL-Datei, deren Name standardmäßig <Nachrichtenflussname>.esql lautet, enthält ESQL-Code für jeden Knoten im Nachrichtenfluss, der dies erfordert. Jeder Code-Abschnitt, der zu einem bestimmten Knoten gehört, wird als Modul bezeichnet. Wenn Sie ESQL-Anweisungen kodieren, die mit Tabellen interagieren, wird vorausgesetzt, dass diese Tabellen in dieser Datenbank existieren. Falls nicht, generiert der Broker zur Laufzeit einen Datenbankfehler.

Kodieren Sie die ESQL-Anweisungen zum Anpassen des Verhaltens des Datenbank-Knotens in einer ESQL-Datei, die mit dem Nachrichtenfluss verknüpft ist, in den Sie diese Instanz des Datenbank-Knotens eingeschlossen haben. Wenn für diesen Nachrichtenfluss keine ESQL-Datei vorhanden ist, klicken Sie doppelt auf den Datenbank-Knoten oder klicken Sie mit der rechten Maustaste auf den Knoten und klicken sie dann im Kontextmenü auf ESQL öffnen, um in der ESQL-Editoransicht eine neue ESQL-Datei zu erstellen und zu öffnen.

Wenn die ESQL-Datei vorhanden ist, klicken Sie neben der Eigenschaft Anweisung auf Durchsuchen. Daraufhin wird das Dialogfenster 'Modulauswahl' angezeigt, in dem die verfügbaren Datenbank-Knotenmodule aufgelistet werden, die in den ESQL-Dateien, auf die von diesem Nachrichtenfluss zugegriffen werden kann, definiert sind (ESQL-Dateien können in anderen, abhängigen Projekten definiert werden. Wählen Sie das entsprechende Modul aus, und klicken Sie auf OK. Wenn keine geeigneten Module zur Verfügung stehen, ist diese Liste leer.

Falls das von Ihnen angegebene Modul nicht existiert, wird es automatisch erstellt und im Editor angezeigt. Wenn die Datei und das Modul vorhanden sind, wird das richtige Modul im Editor hervorgehoben. Wenn für diesen Knoten das Gerüst eines Moduls in einer neuen oder bereits bestehenden ESQL-Datei erstellt wird, besteht es aus folgendem ESQL-Code. In diesem Beispiel wird der Standardname des Moduls verwendet:

CREATE
DATABASE MODULE <Nachrichtenflussname>_Database
       CREATE FUNCTION Main() RETURNS BOOLEAN
       BEGIN
               RETURN TRUE; 
       END;
END MODULE;

Wenn Sie ein eigenes ESQL-Modul erstellen, müssen Sie genau dieses Gerüst erstellen. Sie können den Standardname aktualisieren. Achten Sie jedoch darauf, dass der von Ihnen angegebene Name mit dem Namen der entsprechenden Knoteneigenschaft Anweisung übereinstimmt.

Fügen Sie zum Anpassen dieses Knotens eigenen ESQL-Code hinter der BEGIN-Anweisung und vor RETURN TRUE hinzu. Sie können in diesem Modul alle ESQL-Anweisungen einschließlich SET, WHILE, DECLARE und IF verwenden. Allerdings gibt der Datenbank-Knoten (im Gegensatz zum Compute-Knoten) die Nachricht, die er an seinem Eingabeterminal empfängt, unverändert an sein Ausgabeterminal weiter. Deshalb können Sie wie beim Filter-Knoten nur auf eine Nachricht in einem Datenbank-Knoten verweisen.

 
Transaktion Ja Nein Automatisch Der Transaktionsmodus für den Knoten. Folgende Werte stehen zur Verfügung:
  • Automatisch (Standardwert). Der Nachrichtenfluss, dessen Bestandteil der Datenbank-Knoten ist, wird bei erfolgreicher Ausführung festgeschrieben; d. h., die Aktionen, die Sie im ESQL-Modul definieren, werden ausgeführt, und die Nachricht setzt ihren Weg durch den Nachrichtenfluss fort. Wenn der Nachrichtenfluss fehl schlägt, wird er zurückgesetzt. Wenn Sie die Option Automatisch auswählen, hängt die Fähigkeit, die Aktionen des Datenbank-Knotens in der Datenbank festzuschreiben bzw. zurückzusetzen, vom Erfolg oder Scheitern des gesamten Nachrichtenflusses ab.
  • Festschreiben. Wenn alle nicht festgeschriebenen Aktionen, die in diesem Nachrichtenfluss in der mit diesem Knoten verbundenen Datenbank ausgeführt werden, unabhängig vom Erfolg oder Scheitern des gesamten Nachrichtenflusses festgeschrieben werden sollen, wählen Sie die Option Festschreiben aus. Die Datenbankänderungen werden festgeschrieben, selbst wenn der Nachrichtenfluss fehlschlägt.
 
Warnungen als Fehler behandeln Ja Nein Nicht ausgewählt Wenn Datenbankwarnungen als Fehler behandelt werden sollen und der Knoten die Ausgabenachricht an das Fehlerterminal (Failure) weitergeben soll, aktivieren Sie Warnungen als Fehler behandeln. Das Kontrollkästchen ist zu Beginn inaktiviert.

Wenn Sie es aktivieren, behandelt der Knoten alle positiven Rückkehrcodes von der Datenbank als Fehler und generiert Ausnahmebedingungen auf dieselbe Art wie bei negativen oder schwerwiegenden Fehlern. Wenn Sie das Kontrollkästchen nicht aktivieren, behandelt der Knoten Warnungen als normale Rückkehrcodes und löst keine Ausnahmebedingungen aus. Die höchstwertige Warnung, die ausgegeben werden kann, lautet nicht gefunden. Sie kann in den meisten Fällen als typischer Rückkehrcode sicher bearbeitet werden.

 
Ausnahmebedingung für Datenbankfehler ausgeben Ja Nein Ausgewählt Wenn der Broker bei Erkennung eines Datenbankfehlers eine Ausnahmebedingung generieren soll, aktivieren Sie Ausnahme für Datenbankfehler ausgeben. Das Kontrollkästchen ist zu Beginn aktiviert.

Wenn Sie es inaktivieren, fügen Sie ESQL-Code ein (z. B. mit SQLCODE und SQLSTATE), um nach jedem Datenbankaufruf nach Datenbankfehlern zu suchen. Wenn ein Fehler auftrat, müssen Sie ihn im Nachrichtenfluss bearbeiten, um die Integrität des Brokers und der Datenbank zu gewährleisten. Wenn Sie den Fehler nicht über einen eigenen Prozess bearbeiten, wird er ignoriert, da Sie sich gegen die Verwendung der Standardfehlerbehandlung durch den Broker entschieden haben. Beispiel: Sie können die ESQL-Anweisung THROW einschließen, um in diesem Knoten eine Ausnahmebedingung auszugeben, oder Sie generieren mit dem Throw-Knoten zu einem späteren Zeitpunkt Ihre eigene Ausnahmebedingung.

 

Verbinden, bevor Fluss startet

Nein

Ja

Nicht ausgewählt

Standardmäßig stellt der Broker eine Verbindung mit der Datenquelle her, wenn dies in einem Nachrichtenfluss erforderlich ist.

Wenn Sie das Kontrollkästchen aktivieren, werden Datenquellenverbindungen hergestellt, bevor der Nachrichtenfluss eine Nachricht empfängt, und nicht erst während der Nachrichtenflussverarbeitung.

 
Die Überwachungseigenschaften des Knotens werden in der folgenden Tabelle beschrieben.
Eigenschaft O K Standardwert Beschreibung
Ereignisse Nein Nein Ohne Auf dieser Registerkarte werden Ereignisse angezeigt, die Sie für den Knoten definiert haben. Standardmäßig sind für keinen Knoten in einem Nachrichtenfluss Überwachungsereignisse definiert. Über Hinzufügen, Bearbeiten und Löschen können Sie Überwachungsereignisse für den Knoten erstellen, ändern oder löschen (Details siehe Überwachungsereignisquellen mithilfe von Überwachungseigenschaften konfigurieren).

Sie können hier angezeigte Ereignisse aktivieren oder inaktivieren, indem Sie das Kontrollkästchen Aktiviert aktivieren oder inaktivieren.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:19:54


ReferenzthemaReferenzthema | Version 8.0.0.5 | ac04670_