SEC_SQLI VARA-Objekte
SEC_SQLI oder Secure SQL Internal VARA-Objekte rufen Werte aus der Automation Engine-Datenbank auf sichere Weise ab. Der Unterschied zwischen SQLI (SQL Internal)- und SEC_SQLI VARA-Objekten ist, dass mit SEC_SQLI Variablen immer in SQL-Anweisungen eingefügt werden können, unabhängig von der Einstellung VAR_SECURITY_LEVEL in der Variablen UC_SYSTEM_SETTINGS - Systemübergreifende Einstellungen. Um Variablen in das SQL einzubinden, sind sogenannte Bind-Parameter zu verwenden. Dabei ist es nicht möglich, SQL-Anweisungen zusammenzusetzen, wodurch eine Gefährdung der Datenbank durch SQL-Injection ausgeschlossen wird.
Wie SQLI VARA-Objekten werden Variablenwerte in SEC_SQLI direkt aus der Automation Engine-Datenbank bezogen. Ein Datenbank-Agent ist somit nicht erforderlich.
Aus technischen Gründen kann das -System nicht prüfen, ob nur SELECT-Kommandos im SQL der Variablen verwendet werden.
Wichtig!
Bei der Verwendung von SEC_SQLI VARA-Objekten ist Folgendes zu beachten:
-
Dieser Typ VARA-Objekt unterstützt keine binären Felder. Liefert die SQL-Abfrage Binärdaten zurück, so kommt es zu einem Fehler bei der Vorschau oder der Ermittlung der Werte zur Laufzeit.
-
Aus technischen Gründen prüft das System nicht die SQL-Anweisungen, die mit Datenbank-VARA-Objekten (SEC_SQLI-, SEC_SQL-, SQLI- und SQL-Typen) verarbeitet werden. Das bedeutet, Sie können Datensätze mit Hilfe von VARA-Objekten ändern oder löschen. Aus Sicherheitsgründen sollten Sie den Benutzerzugriff entsprechend einschränken. Bei VARA-Objekten, die auf eine externe Datenbank zugreifen (SQL, SQL SECURE), sollte ein Datenbankbenutzer verwendet werden, der nur Leserechte besitzt. Bei internen SQL-Variablen (SQLI, SQLI SECURE) kann der Zugriff auf das Objekt durch ein Recht (SQL-interne Variablen anlegen und ändern) eingeschränkt werden.
-
Abhängig vom Datentyp gibt dieses VARA-Objekt "" (String, Datum, Zeit, Zeitstempel) oder 0 (Zahl) für NULL-Werte zurück.
-
Verwenden Sie hier PromptSet-Variablen, wenn Sie die Funktion Dynamisch aktualisieren für Kombinationsfeld-Eingabeaufforderungen verwenden. Die PromptSet-Variablen werden aufgelöst, wenn das Objekt, das die Eingabeaufforderung enthält, ausgeführt wird.
-
Wenn Sie die Funktion für das dynamische Aktualisieren für Kombinationsfeld-Prompts verwenden, können Sie hier PromptSet-Variablen hinzufügen. Wenn Sie PromptSet-Variablen in einem dynamischen VARA-Objekt verwenden, gibt die Funktion Vorschau einen Fehler zurück. Der Grund hierfür ist, dass PromptSet-Variablen im dynamischen VARA-Objekten nicht existieren. Die PromptSet-Variablen werden jedoch aufgelöst, wenn Objekte, die PromptSet beinhalten, ausgeführt werden.
Diese Seite beinhaltet Folgendes:
Voraussetzungen
- SQLVAR_INTERNAL ist in den UC_SYSTEM_SETTINGS - Systemübergreifende Einstellungen auf YES gesetzt
- Die maximale Anzahl der zurückgegebenen Zeilen in SQLVAR_MAX_ROWS wird festgelegt (UC_SYSTEM_SETTINGS)
- Ihr Benutzer muss über das Recht SQL-interne Variablen anlegen und ändern verfügen
Übersicht
Die Definition eines SEC_SQLI VARA-Objekts besteht aus den folgenden Seiten:
-
Gemeinsam für alle Objekttypen definieren Sie hier grundlegende Objektinformationen und wenden benutzerdefinierte Werte auf sie an.
-
Variablen
Hier legen Sie die objektspezifischen Einstellungen fest. Einige Abschnitte dieser Seite gelten für alle VARA-Objekte und werden für all diese in eigenen Themen beschrieben:
- Variablen-Einstellungen, siehe unten
- Bind-Parameter, siehe unten
- Datentypen und Formatierung
- Script-Zugriff
- Mandant-0-VARA-Objekte in anderen Mandanten
- Vorschau, siehe unten
-
Allgemein für alle Objekttypen finden Sie hier eine Liste aller Versionen des Objekts.
-
Hier geben Sie die Informationen ein, die Sie als wichtig erachten, um die Konfiguration und das Verhalten des Objekts zu verstehen.
Ein SEC_SQLI VARA-Objekt definieren
-
Geben Sie im Abschnitt Variableneinstellungen Folgendes an:
-
Typ
Schreibgeschützt, immer SQL - intern
-
SQL Server- / Oracle- / DB2- / PostgreSQL-Anweisung
Anweisungen zur Auswahl von Einträgen der Datenbank, welche als Variablenwerte zurückgeliefert werden sollen. Sie haben dafür zwei Möglichkeiten:
- Geben Sie Ihre Anweisung in das Eingabefeld ein
- Klicken Sie auf das Symbol, um den Zellen-Editor zu öffnen, und geben Sie Ihre SQL-Anweisung ein
Maximale Länge: 4096 Zeichen.
Wichtig! Variablen, die direkt in SQL angegeben sind, werden ersetzt. Um Variablen einzubinden, verwenden Sie die Bind-Parameter.
-
-
Im Abschnitt Bind-Parameter können Sie Variablenwerte in SQL-Anweisungen einfügen. Sie können Variablennamen oder VARA-Objektnamen als Bind-Parameter mit beliebigen Werte angeben. Wenn eine Variable oder ein VARA-Objekt nicht vorhanden ist, werden keine Werte ersetzt, sondern der Variablen- oder VARA-Objektname wird verwendet. Dies kann zu einem Fehler führen, wenn die Variable oder das VARA-Objekt aufgelöst wird.
Sie können folgende Arten von Variablen und VARA-Objekten eingeben:
- Script-Variablen
- Objektvariablen
- Vordefinierte Variablen
- Vordefinierte und benutzerdefinierte VARA-Objekte
Jede Zeile in der Tabelle steht für einen Bind-Parameter.
Unterstützte Datentypen und Eingabeformate
- Datum: yyyy-mm-dd
- Zeit: hh:mm:ss
- Zeitstempel: yyyy-mm-dd hh:mm:ss
- String: beliebiger String
- Boolean: mögliche Werte: 0/1 oder true/false
- Zahl: Kein Tausender-Trennzeichen, Punkt als Dezimaltrennzeichen
Wichtig!
- Es werden nur die zuvor aufgeführten Feldtypen und Formate unterstützt
- Es erfolgt auch keine Umwandlung von Datentypen (z. B.: von Zeitstempel auf Datum)
- Wird ein ungültiger Wert eingefügt, kommt es zum Fehler beim Ausführen der SQL-Kommandos
- Die Variable VAR_SECURITY_LEVEL legt keine Einschränkungen fest
- In den SQL-Anweisungen muss ein "?"- Zeichen an jeder Stelle verwendet werden, an der der ersetzte Wert eines BIND-Parameters eingefügt werden soll. Für jedes "?" muss ein Bind-Parameter existieren. Dabei muss auf die richtige Reihenfolge (Tabelle) geachtet werden.
- Die mehrfache Verwendung von Bind-Parametern ist nicht möglich
-
Definieren Sie Datentypen und Formatierung.
-
Definieren Sie den Script-Zugriff.
-
Um ein Kommando auszuführen, wählen Sie dieses aus und klicken Sie auf Vorschau. Die Anweisungen werden ausgeführt und die jeweiligen Ergebnisse angezeigt. Die Vorschaufunktion dient der Überprüfung auf mögliche Fehler in den Datenbank-Anweisungen (z. B. ob der Datentyp des VARA-Objekts und der Datenbank nicht übereinstimmen).
Beispiel:
Die folgende SQL-Anweisung wird in das Feld SQL Server-Anweisung eingegeben. Der Wert der Bind-Variablen ersetzt das "?" Zeichen.
select ah_name as ObjectName,ah_timestamp1 as ActivationTime,ah_timestamp2 as StartTime,ah_timestamp4 as EndTime from ah
where ah_client = ?
and ah_otype = ?
and ah_deleteflag = ?
and ah_hostdst = ?
order by ah_name asc
-
Um den Inhalt der Vorschautabelle in eine CSV-Datei zu exportieren, klicken Sie auf Tabelleexportieren. Alle Zeilen und Spalten werden exportiert. Verwenden Sie diese Funktion, wenn Sie den Inhalt der CSV-Datei weiter verarbeiten müssen (ihn in eine andere Anwendung zur weiteren Verarbeitung einfügen usw.).
-
Um eine oder mehrere Zeilen in der Vorschautabellezu kopieren, wählen Sie die Schaltfläche Kopieren aus. Die ausgewählten Zeilen werden in die Zwischenablage kopiert und Sie können sie in ein Drittanbieter-Tool (Google, Sheets, Excel, Texteditor usw.) einfügen.
Hinweis: Diese Funktion ist nur verfügbar, wenn
https
in der Automic Web Interface verwendet wird. -
Speichern Sie Ihre Änderungen.
Siehe auch: