Der Eingangsagent Cron liest die Eingangsdaten mit einer SQL-Abfrage aus einer Datenbank. Wenn der Eingangsagent einen Job startet, verarbeitet dieser alle Datensätze aus dem Resultset. Lobster Integration legt das Resultset zusätzlich als Backup-Datei im CSV-Format ab.
Einstellungen

① DB Alias: Alias für die Verbindung zur Datenbank. Ein Datenbank-Alias ist eine konfigurierte Verbindung zu einem Datenbanksystem. Über das Icon rechts wählen Sie einen Alias aus. Siehe Databases/connectors (Konfiguration).
Zusätzlich stehen alle im Profil definierten Variablen mit dem Präfix MSG_CALL_ zur Auswahl. Damit übergeben Sie den Alias aus einem triggernden Profil oder über den HTTP-Aufruf. HINWEIS: Hinweis: Definieren Sie diese Variablen mit einem Standardwert. Das hält die Konfiguration prüfbar.
② Timeout bei der SQL-Ausführung: Timeout für das Feld SQL ⑥. Der Wert 0 deaktiviert den Parameter.
ACHTUNG: Achtung
Mit dem Wert 0 erhält der Datenbanktreiber bei einer Zeitüberschreitung keine Antwort mehr. Der Job in der Datenbank läuft weiter, nachdem der Joblauf des Profils gestoppt wurde. Das kann einen Deadlock verursachen.
③ Tables/Procedures/Views: Zeigt alle Tabellen und Prozeduren des ausgewählten Alias ① an.
④ SQL Wizard: Erzeugt ein SELECT-Statement für das Feld SQL ⑥.
⑤ SQL Parameter anzeigen: Zeigt das Fenster SQL-Parameter ⑦ an.
⑥ SQL: SQL-Abfrage zum Lesen der Daten aus der Datenbank. Zulässig ist nur ein einzelnes SELECT-Statement. Kommentare sind nur in der Syntax /*Kommentar*/ zulässig. Andere Schreibweisen führen zu einem Fehler.
Über das Kontextmenü speichern Sie Abfragen und wählen gespeicherte Abfragen aus. Die Abfragen selbst verwalten Sie unter Benutzer-Menü > Integration Notes > SQL queries.
In der Abfrage sind folgende Platzhalter zulässig:
Variablen:
@MSG_CALL_MYVAR@System-Konstanten:
%MYCONST%Parameter: Syntax siehe Fenster SQL-Parameter ⑦
Permanente Profil-Werte:
%perm:KEYNAME%
Nur Variablen mit dem Präfix MSG_CALL_ sind hier sinnvoll, weil nur diese in Phase 1 initialisiert sind. Zusätzlich müssen die Variablen im Profil angelegt sein. Ein typischer Anwendungsfall sind HTTP-Request-Parameter in der SQL-Abfrage, zum Beispiel @MSG_CALL_PARAM1@. Ebenso übergeben Sie Werte aus vorgelagerten Profilen in Profil-Ketten.
Beispiele
SELECT * FROM @MSG_CALL_MYTABLE@
SELECT * FROM %MY_TABLE_CONST%
SELECT * FROM orders WHERE order_no=@MSG_CALL_PARAM1@
SELECT * FROM products WHERE id=@1:s@
SELECT * FROM city WHERE zip=%perm:zip%Für den Zeitstempel des letzten Profillaufs stehen drei Platzhalter zur Verfügung:
@0:t@: kompletter Zeitstempel@0:d@: nur das Datum@0:s#<template>@: formatierter String des Zeitstempels
Lobster Integration aktualisiert den Zeitstempel bei jedem Profillauf, aber nur, wenn die Abfrage den Platzhalter verwendet. Die Aktualisierung erfolgt auch dann, wenn der Cronjob lief, ohne einen Job zu generieren. Nur bei einem Fehler in Phase 1 bleibt der Zeitstempel unverändert.
Beispiele
SELECT * FROM orders WHERE act_time > @0:t@
SELECT * FROM orders WHERE act_time > @0:d@
SELECT * FROM orders WHERE act_time > @0:s#yyyyMMdd@⑦ SQL-Parameter (Fenster rechts): Wird nur angezeigt, wenn SQL Parameter anzeigen ⑤ aktiviert ist. Über das Kontextmenü definieren Sie hier Parameter für den WHERE-Teil der Abfrage.
Als Parameterwert sind zulässig:
Festwerte
Variablen:
@MYVAR@System-Konstanten:
%MYCONST%Permanente Profil-Werte:
%perm:KEYNAME%
Die Platzhalter für diese Parameter haben die Syntax @<Parameternummer>:<Datentyp>@, zum Beispiel @1:s@. Zulässig sind folgende Datentypen:
Kürzel | Datentyp |
|---|---|
| Integer |
| Float |
| Real |
| Date |
| Timestamp |
| String |
| Long |
| Boolean |
| Blob |
| Textstream |
Auch als Parameterwert sind nur Variablen mit dem Präfix MSG_CALL_ sinnvoll. Es gelten dieselben Bedingungen wie für das Feld SQL ⑥.
Beispiel
Param-Nr:
1Wert:
@MSG_CALL_PARAM1@
⑧ SQL Test Timeout: Timeout für SQL testen ⑨.
⑨ SQL testen: Führt die SQL-Anweisung aus dem Feld SQL ⑥ testweise aus. Wenn die Anweisung für die Spaltennamen ein * enthält, liest Lobster Integration die tatsächlichen Spaltennamen aus der Antwort. Diese Namen trägt Lobster Integration in das Feld SQL ⑥ ein.
⑩ Struktur erzeugen: Legt die Spalten der SQL-Anweisung als Felder unter einem neuen Knoten in der Quellstruktur an. Vorhandene Mappinganweisungen bleiben erhalten. Datentypen und Feldlängen übernimmt Lobster Integration aus der Datenbankdefinition.
⑪ Daten löschen: Löscht alle gelesenen Daten der Tabelle. Beim Isolation-Level Read Committed kann ein anderes Programm gleichzeitig Daten einstellen.
ACHTUNG: Achtung
Verwenden Sie diese Checkbox nur mit äußerster Vorsicht. Wenn die Anzahl der gelöschten Zeilen von der Anzahl der gelesenen Zeilen abweicht, startet kein Job. Lobster Integration erzeugt stattdessen eine Fehlermail.
Mit einer WHERE-Bedingung optimieren Sie den Löschvorgang. Dabei verwendet Lobster Integration die WHERE-Bedingung aus dem Feld SQL ⑥ mit denselben Parametern. Das ist besonders wichtig, wenn die Datentypen nicht exakt übereinstimmen.
⑫ Blob Felder sind Base64 kodiert: Wenn diese Checkbox aktiviert ist, kodiert Lobster Integration den Inhalt von Blob-Datenfeldern (binäre Daten) mit Base64. Die Kodierung erfolgt, bevor das Profil die Daten erhält. HINWEIS: Hinweis: Ohne diese Kodierung können Binärdaten einen Fehler beim Erstellen des Eingangsbaumes verursachen. Eingelesene Felder dekodieren Sie mit der Funktion decode Base64().
⑬ Ersatzwerte bei leerem Ergebnis verwenden: Wenn diese Option aktiviert ist, erhält das Profil auch dann Daten, wenn die SQL-Abfrage kein Resultset liefert. Lobster Integration übergibt die Werte aus dem dann erscheinenden Eingabefeld an das Profil. Die Daten müssen im CSV-Format vorliegen, mit Komma als Trennzeichen.
⑭ SQL generieren: Öffnet Pathfinder. Siehe Abschnitt Pathfinder.
Pathfinder
SQL generieren
Mit Pathfinder erzeugen Sie eine SQL-Abfrage aus einer Beschreibung in natürlicher Sprache.


① Datenbank: Datenbank, für die Pathfinder die Abfrage erzeugt.
② SQL generieren: Öffnet die Eingabe für die Beschreibung in natürlicher Sprache.
③ Eingabefeld: Beschreibung der gewünschten Abfrage in natürlicher Sprache.
④ Generierte SQL-Abfrage: Ergebnis der Generierung.
⑤ Übertragen: Überträgt die generierte SQL-Abfrage in das Abfragefeld ⑥.
⑥ Übertragene SQL-Abfrage: Die übernommene Abfrage.
WICHTIG: Wichtig
Die generierte SQL-Abfrage kann Fehler enthalten. Prüfen Sie die Abfrage, bevor Sie sie übernehmen.
Leerzeichen im Abfrage-Ergebnis (MSSQL/Informix)
Bei MSSQL- und Informix-Datenbanken entfernt Lobster Integration führende und nachfolgende Leerzeichen aus den Ergebniswerten von SQL-Aufrufen. Mit dem Parameter skipTrimResultValues ändern Sie dieses Verhalten in der Konfigurationsdatei des Datenbank-Alias.