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 Konnektor-Aufrufe basierend auf SQL-Konnektoren für MySQL und Oracle zu konfigurieren.
Beim Öffnen des Assistenten werden alle für das Schema verfügbaren Tabellen angezeigt.
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. Ein neues Popup-Fenster öffnet sich, in dem Sie die gewünschten Spalten auswählen können. Klicken Sie dann auf OK.
Schritt 2: Konfigurieren Sie die Konnektor-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 Aufrufe bearbeitet haben, klicken Sie auf “Konnektor-Aufrufe erstellen”.
Manuelle Konfiguration
Wenn Sie einen SQL-Konnektor-Aufruf manuell erstellen, sehen Sie zwei Registerkarten: ‘Allgemein’ und ‘Eingabeparameter’.
Allgemein
Hier können Sie die grundlegenden Eigenschaften für Ihren Connector-Aufruf konfigurieren.
Modus
| Parametermodus | Beschreibung |
| simple | Einfache SQL-Abfrage ohne Variablen oder dynamische Parameter |
| query | Parametrisierte SQL-Abfrage |
| execute | Insert- oder Update-Anweisungen ohne Rückgabe |
| transaction | SQL-Transaktionen mit Rollback bei Fehler |
| repeatable statement | Wiederholbare SQL-Anweisungen für Insert- oder Update-Abfragen für Massen-Inserts, Aktualisierung |
Dynamische WHERE-Klausel verwenden
Nur auf “true” setzen, wenn Sie eine dynamische WHERE-Klausel verwenden möchten. Weitere Informationen finden Sie im Dokumentationsabschnitt ‘Modus: query‘.
Abfrage
Geben Sie die SQL-Anweisung für diesen Konnektor-Aufruf ein.
Um einen Verweis auf einen Eingabeparameter zu erstellen, setzen Sie den Eingabeparameternamen in Doppelpunkte, zum Beispiel:
SELECT id, name, city FROM person WHERE id = :personalId:;
Neue Integration des VS Code Monaco Editors (experimentell)
Wenn in den Funktionseinstellungen aktiviert, wird der Legacy-Code-Editor durch den VS Code Editor Monaco ersetzt.
Code-Vervollständigung für Eingabe- und Ausgabeparameter (:) ist verfügbar
Ausgabe
Definieren Sie den Datentyp des Ausgabeparameters.
Eingabeparameter
Auf dieser Registerkarte können Sie die Eingabeparameter für Ihren Konnektor-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 Eingangs- und Ausgangsparameter anzuzeigen.
Sie können zum Beispiel festlegen, ob die Parameter erforderlich oder optional sind oder ob sie einen konstanten Wert haben sollen.
Modus: Simple
Der ‘Simple Call’ entspricht einem nicht parametrisierten SQL-Aufruf.
Die SQL-Anfrage wird durch einen ‘String’ ohne Variablensubstitution definiert.
Um die Ausgabe der SQL-Anfrage verarbeiten zu können, muss sie im Ausgabeparameter des Konnektor-Aufrufs definiert werden.
Derzeit können Sie das gesamte JSON-Ergebnis noch einem einzelnen Parameter zuordnen.
Dies ist möglich, indem Sie ein ‘/’ als Parameternamen und den Datentyp ‘String’ in den Ausgabeparametern angeben.
Modus: Query
Der ‘Query Call’ wird verwendet, um das Ergebnis einer SQL-Anweisung an den Simplifier zu übertragen.
(Normalerweise haben SELECT-Anweisungen ein Ergebnis)
Die SQL-Anfrage des ‘Query Call’ ist parametrisiert (im Gegensatz zum ‘Simple Call’).
Definition des konstanten Werts für den Anfrageparameter
Der Eingabewert des Anfrageparameters 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-Anfrage:
SELECT * FROM user_data WHERE email LIKE :mail:
Wenn Sie mehr Werte in einer SQL-Anweisung verwenden, müssen Sie eine durch 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 Konnektor-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 Konnektor-Aufrufs schreiben müssen.
In der Eingabe-Zuordnung müssen wir einen neuen Parameter namens ‘where’ angeben, der als Platzhalter für Ihre WHERE-Klausel dient, die Sie an die SQL-Anweisung anhängen möchten.
So sieht unser Ergebnis aus, wenn wir verschiedene Werte für den Parameter ‘where’ verwenden und den Konnektor-Aufruf in der Simplifier-UI testen:
Und dies ist eine Demonstration des oben erwähnten Bad-Word-Filters, wenn Sie versuchen, reservierte Wörter aus der Liste (siehe unten) an den Parameter ‘where’ zu übergeben.
Aus Sicherheitsgründen filtern wir schlechte Befehle heraus, die zu einer Ablehnung des Aufrufs führen:
- ALTER
- CREATE
- DELETE
- DROP
- EXEC(UTE)
- INSERT (INTO)
- MERGE
- SELECT
- UPDATE
- UNION (ALL)
Bitte beachten Sie, dass dieser Filter nur dann ausgelöst wird, wenn er genau dasselbe Wort in Ihrer WHERE-Klausel findet.
Modus: Execute
Der ‘Execute Call’ ist dem ‘Query Call’ recht ähnlich. Aber mit dem ‘Execute Call’ wird kein Ergebnis an den Simplifier zurückgesendet.
Typischerweise könnten SQL INSERTs, UPDATEs oder DELETEs auf diese Weise verwendet werden.
Modus: Transaction
Um mehrere Abfragen in einer einzigen Transaktion auszuführen, verwenden Sie den Modus ‘Transaction’. Er bündelt alle ausgeführten Anweisungen als eine Datenbanktransaktion.
Der Transaktionsmodus hat eine Trennzeicheneinstellung, die standardmäßig Semikolon ist. Jede Anweisung wird in der angegebenen Reihenfolge ausgeführt und gibt das Ergebnis zurück. MySQL, MS SQL und SQLite geben zusätzlich Werte für die automatische Inkrementierung zurück.
Modus: Repeatable Statement
Um eine SQL-Anweisung für jeden Eintrag in einer Sammlung auszuführen, können Sie den Modus ‘Repeatable Statement’ verwenden.
Sie können einfach den Modus “repeatable statement” aus dem Dropdown-Menü auswählen, wie Sie es von anderen Modi wie ‘execute’, ‘query’ usw. gewohnt sind.
Nachdem Sie diesen Modus ausgewählt haben, können Sie jede SELECT-, INSERT- oder UPDATE-Anweisung schreiben, die Sie für jeden Eintrag in einer Sammlung ausführen möchten. Um die Sammlung an den Konnektor-Aufruf zu übergeben, wurde ein neuer Parameter ‘parameterCollection’ eingeführt.
Sie können ihn als Eingabeparameter in Ihrem Aufruf angeben und dann den entsprechenden Sammlungsdatentyp dafür auswählen. Wie bei einzelnen Parametern in den anderen Modi können Sie auch einen Alias festlegen, der für ‘parameterCollection’ verwendet werden soll.
Repeatable Statement in Kombination mit Transaktionen
Seit Simplifier Version 6.5.201 kann der Repeatable-Statement-Modus mit mehreren SQL-Anweisungen verwendet werden (ähnlich dem Transaktionsmodus), die durch ein Trennzeichen getrennt sind.
Alle definierten Anweisungen werden für alle Objekte in der Eingabeparametersammlung in einer Transaktion ausgeführt.
In dem Beispiel im Screenshot oben sind zwei SQL-Anweisungen im SQL-Editor definiert. Beide Anweisungen werden für jedes Objekt ausgeführt, das sich in der Eingabeparametersammlung befindet.



























