
Sie können eine oder mehrere Datenbanktabellen durch eine XI-Message verändert. Abhängig vom Inhalt der Message-Payload können Sie Daten in Datenbanktabellen einfügen (INSERT), verändern (UPDATE) oder löschen (DELETE).
Im synchronen Fall können Sie auch Ergebnisse von Abfragen (SELECT) als XML-Format in der Rückantwort mitgeben.
Mit EXECUTE führen Sie Stored-Procedures aus und mit SQL-QUERY können Sie komplexere SQL-Anweisungen über den Adapter an die Datenbank weiterleiten.
Aufbau der Message-Payload
<root>
<StatementName1>
<dbTableName action="ACTION>
<table>realDbTableName</table>
<access>
<col1>val1</col1>
<col2>val2</col2>
</access>
<key1>
<col2>val2old</col2>
<col4>val4</col4>
</key1>
<key2>
<col2>val2old2</col2>
</key2>
</dbTableName>
</StatementName1>
<StatementName2>
...
...
</StatementName2>
...
</root>
XML-Dokumentstruktur definieren
<root>
<root>
Die Namen der Tags für Statements sind frei wählbar.
Jedes Statement enthält die Beschreibung einer Datenbankaktion.
Mit Ausnahme der Ausführungsbeschreibung für eine Stored Procedure verwenden Sie für alle Statements eine gemeinsame Struktur.
dbTableNameactionUPDATEINSERTUPDATE_INSERTDELETE,SELECT, EXECUTESQL-QUERY
<table><dbTableName>
Mit dieser Angabe können Sie beispielsweise Tabellennamen definieren, die nicht XML-konforme Zeichen enthalten oder Zeichen enthalten, die in Interface-Definitionen des Integration Builder nicht verwendet werden dürfen.
DELETEaccess
access
Ändern Sie den Namen des Tags nicht.
key>
Attribute in den <key>-Elementen definieren
Setzen Sie mit diesem Attribut die logische Vergleichsoperation für das jeweilige Element. Erlaubte Werte sind:
Sie können den Parameter beispielsweise so einsetzen:
<key1>
<col2 compareOperation="NEQ">val2old</col2>
<col4 compareOperation="LIKE">val%</col4>
</key1>
"
SELECT col1,col2,col3 FROM dbTableName WHERE ((col2<>'val2old' AND col4 LIKE 'val%') OR (col2='val2old2'))
"
Beim Aufbau der WHERE-Bedingung des SQL-Statements wird als Vorgabe aufgrund des Tabellenspaltentyps entschieden, ob die Werte in Hochkomma (textartige Spaltentypen) oder nicht in Hochkommata (numerische Spaltentypen) gesetzt werden. In seltenen Fällen (z.B. bei der Verwendung von Funktionen) müssen Sie diese Verhalten eventuell übersteuern.
Werte mit diesem Attribut werden beim Aufbau der WHERE-Bedingung ignoriert. Dieses Attribut hat die gleiche Wirkung, als ob der zugehörige Wert nicht vorhanden sei.
Antwortdokumente können nur bei synchronem Aufruf vom Integration Server/vom PCK ausgewertet werden, da im asynchronen Fall der Inhalt des Antwortdokuments nicht mehr zugänglich ist.
Die Antwort wird für jedes Statement-Element separat in einem Element <StatementName_response> gesetzt.
Die Struktur der Antwortdokumente ist in den Beschreibungen der Statements enthalten.