VARA-Objekte vom Typ SEC_SQLI

VARA-Objekte vom Typ SEC_SQLI (Secure SQL Internal) rufen auf sichere Weise Werte aus der Automation Engine-Datenbank ab. Der Unterschied zwischen VARA-Objekten vom Typ SQLI (SQL Internal) und VARA-Objekten vom Typ SEC_SQLI ist, dass bei SEC_SQLI Variablen immer in SQL-Anweisungen verwendet werden können, unabhängig von der Einstellung VAR_SECURITY_LEVEL in der Variablen UC_SYSTEM_SETTINGS: Systemweite Einstellungen. Sie verwenden dafür Bind-Parameter. Das heißt, dass Sie keine SQL-Anweisungen verfassen können. Dadurch wird die Datenbank vor dem Risiko einer SQL-Einschleusung geschützt.

Wie bei SQLI-VARA-Objekten werden die Werte in SEC_SQLI-VARA-Objekten direkt aus der Automation Engine-Datenbank abgerufen. Ein Datenbank-Agent ist somit nicht erforderlich.

Voraussetzungen für die Verwendung von SEC_SQLI-VARA-Objekten

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.

Wie alle anderen Objekte haben SEC_SQLI-VARA-Objekte mehrere verschiedene Definitionsseiten. Allgemein, Versionsmanagement und Dokumentation existieren für alle Objekte. Hier wird die Seite Variablen beschrieben, die für SEC_SQLI-VARA-Objekte spezifisch ist.

So definieren Sie ein SEC_SQLI-VARA-Objekt

  1. Legen Sie im Abschnitt Variableneinstellungen fest, wie das VARA-Objekt auf das Zielsystem zugreifen soll, von dem es die Werte abruft:

    • Geben Sie die SQL Server-, Oracle-, DB2- oder PostgreSQL-Anweisungen ein, die Sie verwenden möchten, um bestimmte Datenbankeinträge auszuwählen, die als Variablenwerte dienen. 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.

  2. 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 derVariablen- 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 ist an jeder Stelle, an der der Wert eines Bind-Parameters eingefügt werden soll, das Zeichen "?" anzugeben. 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
    • Verwenden Sie SQL-Funktionen nicht als Bindparameter, da sie in einigen Fällen nicht dem Datentyp und dem Eingabeformat entsprechen.
  3. Im Abschnitt Daten & Formatierung legen Sie das Datenformat des Werts fest, der vom VARA-Objekt gerendert wird. Führen Sie folgende Schritte durch:

    • Datentyp

      • Für Text

        • Wählen Sie Textlänge limitieren aus, um ein Limit für die Länge des Zeichen-Strings festzulegen.

        • Geben Sie unter Max. Textlänge die maximale Länge an. Mögliche Werte: 1 bis 1024.

        • Wählen Sie Großschreibung erzwingen aus, wenn Sie den Text der ersten Wertspalte in Großbuchstaben konvertieren möchten.

        • Legen Sie unter Ergebnisformat das Format des Inhalts in der Spalte ERGEBNIS fest. Das ist die erste Spalte, die in der Vorschau angezeigt wird. Die Ergebnis-Spalte kann aus einer Kombination von Werte-Spalten und beliebigen anderen Zeichen bestehen.

          Spaltennummern, die in { }-Klammern im Feld Resultat-Format angegeben sind, werden durch den Wert der jeweiligen Spalte ersetzt.

          Beispiel:

          • Wert Spalte 1: JOB1
          • Wert Spalte 2: WIN01
          • Ergebnisformat: {1}_{2}
          • Ergebnisspalte: JOB01_WIN01

          Wenn Sie kein Ergebnisformat angeben, wird der Wert in der Spalte Ergebnis oder in der Spalte Schlüssel verwendet.

          Wichtig!

            Das Ergebnis muss innerhalb der definierten Grenzen liegen und dem Datentyp entsprechen. Ansonsten zeigt die Resultat-Spalte keinen Wert an.

            Die Beschränkungen (Min. Wert, Max. Wert, Textlimitierung) haben auf die Ergebnisspalte keinen Einfluss, sondern nur auf die erste zurückgelieferte Spalte. Wenn die Werte dieser Spalte den maximalen Bereich überschreiten, wird diese Zeile übersprungen. Die Zeile ist nicht über das VARA-Objekt verfügbar.

      • Für Zahl

        Ganzzahl mit Vorzeichen, mögliche Werte: beliebige Zahl von 0 bis 2147483647.

        Standardformat: 16 Stellen

      • Für Zeit

        Möglich sind dabei die folgenden Formate:

        • HHMMSS
        • HH:MM:SS
        • HHMM
        • HH:MM
        • MMSS
        • MM:SS

        Standardformat: HHMMSS

        Der Wert für diesen Datentyp muss eine vier- oder sechsstellige Zahl sein. Kommastellen werden entfernt. Eine vierstellige Zahl wird dabei in Stunden und Minuten konvertiert.

        Beispiel:

        Ausgabeformat: HH:MM:SS

        Wert des Benutzers oder der Datenquelle: 1234, 1234.5, 123400, 12:34, 12:34:00

        Resultierender Variablenwert: 12:34:00

      • Für Datum

        Möglich sind dabei die folgenden Formate:

        • DD-MON-YYYY
        • DD-MON-RR
        • MM-DD-YYYY
        • YYYYMMDD
        • MMDDRR
        • DDMMRR
        • MM-DD-RR
        • MM/DD/RR
        • YYMMDD
        • YY.MM.DD
        • YY-MM-DD
        • YYYYMMDD
        • YYYY.MM.DD
        • YYYY-MM-DD
        • DDMMYY
        • DD.MM.YY
        • DD-MM-YY
        • DDMMYYYY
        • DD.MM.YYYY
        • DD-MM-YYYY
        • MMDDYY
        • MMDDYYYY
        • MM/DD/YY
        • MM/DD/YYYY

        Standardformat: YYMMDD

        Hinweis: Manche Datumsformate enthalten RR als Platzhalter für das abgekürzte Jahr. Der Unterschied zwischen "YY" und "RR" ergibt sich durch die unterschiedlichen Arten, Jahrhunderte zu zählen (erste zwei Stellen der abgekürzten Jahreszahl).

        • YY - Das aktuelle Jahrhundert gilt für Zahlen von 00 bis 80. Im Bereich 81 - 99 das vorherige. 
        • RR - Das aktuelle Jahrhundert gilt für Zahlen von 00 bis 49. Im Bereich 50 - 99 das vorherige.

        Beispiele:

        • Datumsformat TTMMJJ und die daraus resultierenden Daten:

          010305 - entspricht dem 01. März 2005
          010365 - entspricht dem 01. März 2065
          010380 - entspricht dem 01. März 2080
          010385 - entspricht dem 01. März 1985

        • Datumsformat TTMMRR und die daraus resultierenden Daten:

          010305 - entspricht dem 01. März 2005
          010365 - entspricht dem 01. März 1965
          010380 - entspricht dem 01. März 1980
          010385 - entspricht dem 01. März 1985

      • Für Zeitstempel

        Mögliche Formate:

          YYYYMMDDHH24MISS

          YYYY-MM-DD HH:MM:SS

        Standardformat: YYYY-MM-DD HH:MM:SS

        Der Wert für diesen Datentyp muss eine vier- oder sechsstellige Zahl sein. Kommastellen werden entfernt. Eine vierstellige Zahl wird dabei in Stunden und Minuten konvertiert.

        Beispiel:

        Ausgabeformat: YYYY-MM-DD HH:MM:SS
        Wert des Benutzers oder der Datenquelle: 20110325 2201, 20110325 2201.5, 20110325 220100
        Resultierender Variablenwert: 2011-03-25 22:01:00

    • Minimum festlegen / Min. Wert und Maximum festlegen / Max. Wert (Alle VARA-Typen)

      Legt einen Minimal-/Maximalwert fest.

      Mögliche Werte für Zahl: Maximal 16 Stellen vor und 16 Stellen nach dem Dezimalpunkt

  4. Alle VARA-Objekte haben den Abschnitt Script-Zugriff auf ihren Definitionsseiten, der die Fehlerbehandlung festlegt, wenn Scripts das VARA-Objekt lesen. In diesem Bereich entscheiden Sie, was passieren soll, wenn Scripts auf das VARA-Objekt zugreifen und der Schlüssel, auf den sie verweisen, nicht verfügbar ist.

    Folgende Optionen stehen zur Verfügung:

    • Fehler zurückliefern

      Das Script wird nicht ordnungsgemäß beendet, und auf der Meldungen-Konsole wird eine Laufzeitfehlermeldung angezeigt.

    • Anfangswerte zurückgeben (Standard)

      Das Script wird weiterhin ausgeführt, obwohl der Schlüssel nicht verfügbar ist. Es wird kein Laufzeitfehler angezeigt. Der Report enthält einen leeren String, woran zu erkennen ist, dass kein Schlüssel gefunden wurde.

      Tipp: Stellen Sie sicher, dass die Schlüssel von VARA-Objekten immer einen Wert zurückgeben, wenn Sie diese Option verwenden möchten.

  5. 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:

    Im Beispiel oben wird die folgende SQL-Anweisung in das Feld SQL Server-Anweisung eingegeben. Der Wert der Bind-Variable 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

  6. 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.).

  7. Um eine oder mehrere Zeilen in der Vorschautabelle zu 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.

  8. Speichern Sie Ihre Änderungen.

Siehe auch: