SQL-VARA-Objekte
SQL VARA-Objekte beziehen Werte mithilfe von SQL-Statements aus externen Datenbanken.
Dieses Thema beinhaltet Folgendes:
Um die Werte aus einer Datenbank beziehen zu können, wird folgendes benötigt:
-
Ein DB-Service-Agent für Variablen, der individuell konfiguriert und gestartet wird.
Dieser Agent ist nicht für die Ausführung von Datenbank-Jobs und -Ereignissen einsetzbar. Siehe Agenten für Datenbankvariablen installieren.
- Ein Verbindung , das die Datenbankverbindungsparameter enthält.
- Ein Login, in dem der Datenbankbenutzer und das Passwort eingetragen sind.
SQL-VARA-Objekte definieren
Die Definition eines SQL-VARA-Objekts besteht aus den folgenden Seiten:
- Seite „Allgemein“
-
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
- Parameter
- Datentypen und Formatierung
- Scriptzugriff
- Mandant-0-VARA-Objekte in anderen Mandanten
- Vorschau, siehe unten
- Seite „Versionsmanagement“
- Seite „Dokumentation“
Überblick
Für die Länge der Werte gibt es keine Beschränkung. Wenn eine maximale Textbegrenzung in der Seite Seite „Attribute“ ausgewählt wurde, gilt dies nur für die erste Wertspalte. Einträge, welche dieses Limit überschreiten, werden ausgegrenzt.
Wichtige Hinweise
Bei der Verwendung von SQL-VARA-Objekten ist Folgendes zu beachten:
-
Die maximale Anzahl der zurückgelieferten Zeilen ist in der Einstellung SQLVAR_MAX_ROWS (UC_SYSTEM_SETTINGS - Systemweite Einstellungen) festgelegt.
-
Die maximale Auflösungsdauer von SQL-Variablen kann mit der Einstellung VAR_TIMEOUT (UC_HOSTCHAR_*) geändert werden.
-
Nicht druckbare Zeichen werden automatisch gelöscht (Zeichen ASCII 0x00 bis 0x20 und 0x7F).
-
Die Automation Engine schneidet Leerzeichen am Ende von SQL-Variablenwerten nicht ab.
-
Datenbank-VARA-Objekte (SEC_SQLI, SEC_SQL, SQLI und SQL-Typen) unterstützen keine Binärfelder. Liefert die SQL-Abfrage Binärdaten zurück, so kommt es zu einem Fehler bei der Vorschau oder der Ermittlung der Werte zur Laufzeit.
-
In Datenbank-VARA-Objekten (SEC_SQLI, SEC_SQL, SQLI und SQL) prüft das System die SQL-Statements, die aus technischen Gründen verarbeitet werden, nicht. 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 liefern Datenbank-VARA-Objekte (SEC_SQLI, SEC_SQL, SQLI und SQL) den Wert "" (Zeichenfolge, Datum, Zeit, Zeitstempel) oder 0 (Zahl) für NULL-Werte zurück.
-
PromptSet-Variablen werden in ausgewählten Feldern für Variablen des Typs BACKEND, EXEC, DATEILISTE, SEC_SQLI, SEC_SQL, SQLI, SQL, und XML unterstützt. Die Verwendung von PromptSet-Variablen ist notwendig, wenn die Funktion Dynamisch aktualisieren (Combobox-Prompts) verwendet wird.
Abschnitt „Variablen-Einstellungen“
-
Typ
Schreibgeschützt, immer SQL.
-
Verbindung
Das Verbindung 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.
Werden dort ebenfalls keine Anmeldeinformationen gefunden, so kommt es zu einem Fehler bei der Auflösung des VARA-Objekts.
-
Standard-Login
Die Auswahl eines Login-Objekts für SQL-VARA-Objekte ist auch im Benutzerobjekt (Standard-Login) möglich, siehe Benutzer (USER).
Aktivieren Sie die Option Benutzer-Login bevorzugen, um das Login-Objekt anzuwenden, das dem aktuellen Benutzer zugeordnet ist. Dadurch wird das im VARA-Objekt angegebene Login-Objekt ignoriert.
Ein Fehler tritt auf, wenn das VARA-Objekt gelöst werden soll und im Benutzerobjekt keine Anmeldung definiert ist.
PromptSet-Variablen können hier nicht verwendet werden.
-
SQL-Statement
SQL-Statements zur Auswahl von Einträgen der Datenbank, welche als Variablenwerte zurückgeliefert werden sollen.
Variablen, die im SQL direkt angegeben werden, werden nicht ersetzt. Um Variablen einzubinden, verwenden Sie die Bind-Parameter.
Maximale Länge: 4096 Zeichen
Wenn Sie die Funktion Dynamisch aktualisieren (Combobox-Prompts) für Combobox-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.
Um ein Kommando auszuführen, wählen Sie dieses aus und klicken Sie auf Vorschau. Die Statements werden ausgeführt und die jeweiligen Ergebnisse angezeigt. Die Vorschaufunktion dient der Überprüfung auf mögliche Fehler in den Datenbank-Statements (z. B. ob der Datentyp des VARA-Objekts und der Datenbank nicht übereinstimmen).
Der Datenbank-Agent sendet die Vorschau-Daten in Form einer Nachricht an die Automation Engine. Wenn diese Nachricht die maximale Nachrichtenlänge überschreitet, die ein Serverprozess akzeptiert, tritt ein Fehler auf.
Maximale Länge: Im Parameter „MaxMsgSize= parameter“ der Datei Automation Engine UCSRV.INI festgelegt.
Standardwert: 3145 728 Bytes. Sie können das Ergebnis entweder durch die maximale Zeilenanzahl oder die SQL-Statements einschränken.
Siehe auch: