Konnektor-Assistent
In der Übersicht über Connector-Anrufe finden Sie den Connector Wizard in der oberen rechten Ecke. Mit dem SQL-Assistenten ist es einfach, neue Konnektoraufrufe basierend auf SQL Connectors für MySQL und Oracle zu konfigurieren.
Beim Öffnen des Wizards werden alle Tabellen angezeigt, die für das Schema verfügbar sind.
Schritt 1: Abfragen auswählen Im ersten Schritt können Sie nach der Tabelle suchen und dann unter “Aktionen” auswählen, ob Sie alle Spalten (rechtes Symbol) oder nur bestimmte (linkes Symbol) auswählen möchten.
Wenn Sie nur bestimmte auswählen möchten, klicken Sie auf das linke Symbol.
Es öffnet sich ein neues Popup, in dem Sie die gewünschten Spalten auswählen können.
Klicken Sie dann auf OK.
Schritt 2: Konfigurieren der Connector-Aufrufe Nachdem Sie die gewünschten Tabellen und ggf. deren Spalten ausgewählt haben, können Sie die Konnektor-Aufrufe bearbeiten, indem Sie auf “Konnektor-Aufrufe bearbeiten” klicken.
Wenn Sie die Anrufe bearbeitet haben, klicken Sie auf “Konnektor-Anrufe erstellen”.
Manuelle Konfiguration
Wenn Sie einen SQL Connector-Aufruf manuell erstellen, werden zwei Registerkarten angezeigt: “Allgemein” und “Eingabeparameter”.
Allgemein
Hier können Sie die grundlegenden Eigenschaften für Ihren Connector-Aufruf konfigurieren.
Modus
Beschreibung des Parametermodus | |
einfache | Einfache SQL-Abfrage ohne Variablen oder dynamische Parameter |
Abfrage | Parametrisierte SQL-Abfrage |
Ausführen von | Insert- oder Update-Anweisungen ohne Rückgabe |
Transaktion | SQL-Transaktionen mit Rollback bei Fehler |
wiederholbare Anweisung | Wiederholbare SQL-Anweisungen zum Einfügen oder Aktualisieren von Abfragen für Masseneinfügungen, Aktualisieren |
Dynamische WHERE-Klausel verwenden Legen Sie diese Option nur auf true fest, wenn Sie eine dynamische WHERE-Klausel verwenden möchten.
Weitere Informationen finden Sie im Dokumentationsbereich ‘Modus: Abfrage‘. Abfrage Fügen Sie die SQL-Anweisung für diesen Connector-Aufruf ein.
Um einen Verweis auf einen Eingabeparameter zu erstellen, legen Sie den Namen des Eingabeparameters in Doppelpunkten fest, z. B.: SELECT id, name, city FROM person WHERE id = :personalId:;
Ausgabe Definieren Sie den Datentyp des Ausgabeparameters.
Eingabe-Parameter
Auf dieser Registerkarte können Sie die Eingabeparameter für Ihren Connector-Aufruf und deren Datentyp definieren.
Wenn Sie in Ihrer SQL-Anweisung bereits einen Eingabeparameter erwähnt haben, wird automatisch ein Eintrag auf der Registerkarte Eingabeparameter hinzugefügt.
Fortgeschritten
Setzen Sie den Schalter ‘Erweitert’ in der oberen rechten Ecke des Dialogs auf true, um weitere Konfigurationsoptionen für die Ein- und Ausgabeparameter anzuzeigen.
Sie können z. B. festlegen, ob die Parameter erforderlich oder optional sind oder ob sie einen konstanten Wert haben sollen.
Modus: Einfach
Der ‘Simple Call’ entspricht einem nicht parametrisierten SQL-Aufruf. Die SQL-Anforderung wird durch einen ‘String’ ohne Variablenersetzung definiert.
Um die Ausgabe des SQL-Requests verarbeiten zu können, muss diese im output-Parameter des Konnektoraufrufs definiert werden. Derzeit können Sie weiterhin das gesamte JSON-Ergebnis einem einzelnen Parameter zuordnen.
Dies ist möglich, indem in den Ausgabeparametern ein ‘/’ als Parametername und der Datentyp ‘String’ angegeben wird.
Modus: Abfrage
Der ‘Query Call’ wird verwendet, um das Ergebnis aus einer SQL-Anweisung an den Simplifier zu übertragen.
(In der Regel haben SELECT-Anweisungen ein Ergebnis)
Die SQL-Anfrage des ‘Query Call’ ist parametrisiert (im Gegensatz zum ‘Simple Call’).
Definition des konstanten Wertes für den Request-Parameter
Der Eingabewert des Anforderungsparameters wird durch einen Namen und einen Simplifier-Datentyp dargestellt.
In unserem Beispiel haben wir den Namen ‘mail’ und den Datentyp ‘String’ verwendet.
Eine Parameterdefinition wird mit einem Doppelpunkt eingeleitet und beendet.
Zwischen den Doppelpunkten befindet sich ein Wertepaar, das ebenfalls durch einen Doppelpunkt getrennt ist und den Namen und den Typ des Parameters darstellt.
In einer parametrisierten SQL-Anforderung: SELECT * FROM user_data WHERE email LIKE :mail:
Wenn Sie mehrere Werte in einer SQL-Anweisung verwenden, müssen Sie eine durch ein Komma getrennte Syntax verwenden, z.B. VALUES (:id:,:mail:)..
Dynamische WHERE-Klausel
Für die Ausführung dynamisch erstellter WHERE-Klauseln lesen Sie bitte die folgenden Zeilen: Sehen wir uns an, wie wir unseren Connector-Aufruf konfigurieren müssen, um diese Funktion zu nutzen.
Hier können Sie sehen, dass Sie nur Ihre reguläre SQL-Anweisung ohne die WHERE-Klausel danach auf der Registerkarte “SQL” des Connector-Aufrufs schreiben müssen.
In der Eingabezuordnung müssen wir einen neuen Parameter namens ‘where’ angeben, der als Platzhalter für Ihre WHERE-Klausel fungiert, die Sie an die SQL-Anweisung anhängen möchten.
So sieht unser Ergebnis aus, wenn wir unterschiedliche Werte für den Parameter “where” verwenden und den Connector-Aufruf in der Simplifier-Benutzeroberfläche testen:
Und dies ist eine Demonstration des oben erwähnten Filters für schlechte Wörter, wenn Sie versuchen, reservierte Wörter aus der Liste (siehe unten) an den Parameter ‘where’ zu übergeben.
Aus Sicherheitsgründen filtern wir fehlerhafte Befehle heraus, die zu einer Ablehnung des Aufrufs führen:
- ÄNDERN
- SCHAFFEN
- LÖSCHEN
- TROPFEN
- EXEC(UTE)
- EINFÜGEN (IN)
- VERSCHMELZEN
- AUSWÄHLEN
- AKTUALISIEREN
- UNION (ALLE)
Bitte beachten Sie, dass dieser Filter nur ausgelöst wird, wenn er genau dasselbe Wort in Ihrer WHERE-Klausel findet.
Modus: Ausführen
Der ‘Execute Call’ ist dem ‘Query Call’ sehr ähnlich.
Mit dem ‘Execute Call’ wird jedoch kein Ergebnis an den Simplifier zurückgesendet.
In der Regel können SQL-INSERTs, UPDATEs oder DELETEs auf diese Weise verwendet werden.
Modus: Transaktion
Um mehrere Abfragen in einer einzigen Transaktion auszuführen, verwenden Sie den Modus ‘Transaktion’.
Es bündelt alle ausgeführten Anweisungen in einer Datenbanktransaktion.
Der Transaktionsmodus verfügt über eine Trennzeicheneinstellung, die standardmäßig ein Semikolon ist.
Jede Anweisung wird in der angegebenen Reihenfolge ausgeführt und gibt die Ergebnismenge zurück.
MySQL, MS SQL und SQLite geben zusätzlich Werte für die automatische Inkrementierung zurück.
Modus: Wiederholbare Anweisung
Um eine SQL-Anweisung für jeden Eintrag in einer Auflistung auszuführen, können Sie den Modus für wiederholbare Anweisungen verwenden.
Sie können einfach den Modus “Wiederholbare Anweisung” aus dem Dropdown-Menü auswählen, wie Sie es von anderen Modi wie “Ausführen”, “Abfrage” usw. gewohnt sind.
Nachdem Sie diesen Modus ausgewählt haben, können Sie eine beliebige SELECT-, INSERT- oder UPDATE-Anweisung schreiben, die Sie für jeden Eintrag in einer Sammlung ausführen möchten, die über einen neuen Parameter namens ‘parameterCollection’ an den Connector-Aufruf übergeben wird.
Sie können ihn als Eingabeparameter in Ihrem Aufruf angeben und dann den entsprechenden Sammlungsdatentyp dafür auswählen.
Wiederholbare Aussage in Kombination mit Transaktionen Seit der Simplifier-Version 6.5.201 kann der Modus für wiederholbare Anweisungen mit mehreren SQL-Anweisungen (ähnlich dem Transaktionsmodus) verwendet werden, die durch ein Trennzeichen getrennt sind.
Alle definierten Anweisungen werden für alle Objekte in der Eingabeparametersammlung in einer Transaktion ausgeführt.
Im Beispiel im obigen Screenshot werden zwei SQL-Anweisungen im SQL-Editor definiert.
Beide Anweisungen werden für jedes Objekt ausgeführt, das sich in der Eingabeparameterauflistung befindet.