SEC_SQL VARA-Objekte

SEC_SQL oder Secure SQL VARA-Objekte beziehen Werte aus externen Datenbanken. SEC_SQL-VARA-Objekte sind ähnlich wie SQL VARA-Objekte, da auch sie SQL-Anweisungen auf einer externen Datenbank ausführen. Im Gegensatz zu SQL-VARA-Objekten bieten SEC_SQL VARA-Objekte jedoch die Möglichkeit, alle unterstützten Variablen innerhalb von SQL-Anweisungen zu verwenden – ohne eine mögliche Gefährdung der Datenbank durch SQL-Injection. Die Variablen werden unabhängig von den VAR_SECURITY_LEVEL-Einstellungen in den UC_SYSTEM_SETTINGS - Systemübergreifende Einstellungen ersetzt.

Wichtige Hinweise

SEC_SQL VARA-Objekte definieren

Die Definition eines SEC_SQL VARA-Objekts besteht aus den folgenden Seiten:

Die Seite "Variablen" definieren

  1. Geben Sie im Abschnitt Variableneinstellungen Folgendes an:

    • Typ

      Schreibgeschützt, immer SEC_SQL

    • Verbindung

      Das Verbindung (CONN) vom Typ Datenbank, das die Verbindungsparameter zur gewünschten Datenbank enthält

    • Login

      Das Login-Objekt, das den Namen und das Passwort des Datenbankbenutzers speichert

      Ist kein Login-Objekt angegeben und auch die Option Standard-Login nicht gesetzt, so werden die Anmeldedaten für den Datenbank-Zugriff aus dem Verbindungsobjekt bezogen.

    • Standard-Login

      Standardmäßiges Login-Objekt, das Ihrer Benutzer (USER) zugewiesen ist.

      Wenn Sie diese Option auswählen, wird das Login-Objekt ignoriert, das im VARA-Objekt angegeben ist.

      Wenn im Benutzerobjekt kein Login definiert ist, tritt ein Fehler auf, wenn das VARA-Objekt aufgelöst wird.

      PromptSet-Variablen können hier nicht verwendet werden.

    • SQL-Anweisung

      SQL-Anweisungen zur Auswahl von Einträgen der Datenbank, welche als Variablenwerte dienen.

      Variablen, die direkt in SQL angegeben sind, werden ersetzt. Um Variablen einzubinden, verwenden Sie die Bind-Parameter.

      Maximale Länge: 4096 Zeichen

      Hinweis: Sie können die Variablen hier nicht direkt angeben, aber Sie können sie mithilfe von BIND-Parametern einschließen. Die Bind-Parameter sind in der entsprechendie Registerkarteelle zu pflegen und können vordefinierte Variablen, Platzhalter für VARA-Objekte und PromptSet-Variablen enthalten. Im SQL-Script ist an der Stelle, an welcher die Bind-Parameter eingefügt werden sollen, das Zeichen "?" zu verwenden.

  2. Sie fügen Variablenwerte innerhalb von SQL-Anweisungen im Abschnitt Bind-Parameter ein. 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
  3. Definieren Sie Datentypen und Formatierung.
  4. Definieren Sie den Script-Zugriff.
  5. Wenn Sie bei Mandant 0 angemeldet sind, ist ein zusätzlicher Abschnitt verfügbar. Weitere Informationen finden Sie unter Mandant-0-VARA-Objekte in anderen Mandanten.
  6. 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).

    Der Datenbank-Agent sendet die Vorschau-Daten in Form einer Meldung an die Automation Engine. Wenn diese Meldung die maximale Meldungslänge überschreitet, die ein Serverprozess akzeptiert, tritt ein Fehler auf.

    Maximale Länge: Im Parameter MaxMsgSize= der Datei UCSRV.INI der Automation Engine festgelegt.

    Standardwert: 3145 728 Byte.

  7. Speichern Sie Ihre Änderungen.

Siehe auch: