Objets VARA SQLI
Les objets de variables SQLI or SQL Interne extraient les valeurs de la base de données Automation Engine via des instructions SQL. La spécification d'un objet Connexion ou Login est inutile car l'accès à la base de données reste interne. Les valeurs ne sont soumises à aucune limite de longueur. Si vous en définissez une, cette valeur ne s'applique qu'à la première colonne de valeurs. Les éléments dépassant cette limite sont exclus.
Pour déterminer le nombre maximal de lignes renvoyées, utilisez le paramètre SQLVAR_MAX_ROWS de la variable UC_SYSTEM_SETTINGS - Paramètres système.
Cette rubrique contient les sujets suivants :
Prérequis
- Le paramètre SQLVAR_INTERNAL de la variable UC_SYSTEM_SETTINGS - Paramètres système doit être YES.
- Votre définition utilisateur doit avoir le droit de créer et modifier des variables SQL internes.
Définir des objets VARA SQLI
La définition d'un objet VARA SQLI se compose des pages suivantes :
- Page Général
-
Variables
Vous permet de définir les paramètres spécifiques aux objets. Certaines sections de cette page sont communes à tous les objets VARA et sont décrites dans des rubriques dédiées :
- Paramètres des variables, voir ci-après
- Paramètres
- Formats et types de données
- Accès au script
- Objets VARA du client 0 dans d'autres clients
- Aperçu, voir ci-après
- Page Gestion des versions
- Page Documentation
Considérations importantes
Lorsque vous utilisez des objets VARA SEC_SQLI, tenez compte des éléments suivants :
-
Les objets VARA de base de données (de type SEC_SQLI, SEC_SQL, SQLI et SQL) ne prennent pas en charge les champs binaires. Les données binaires résultant d'une requête SQL provoquent une erreur dans l'aperçu ou lorsque les valeurs sont récupérées lors de l'exécution.
-
Pour des raisons techniques, le système ne vérifie pas les instructions SQL traitées dans les objets VARA de base de données (de type SEC_SQLI, SEC_SQL, SQLI et SQL), Vous pouvez modifier ou supprimer des enregistrements de données à l'aide d'objets VARA. Pour des raisons de sécurité, pensez à limiter l'accès utilisateur en conséquence. Si possible, déployez un utilisateur de base de données ayant des droits d'accès en lecture seule aux objets VARA pouvant accéder à une base de données externe (SQL, SQL SECURE). Pour les variables SQL internes (SQLI, SQLI SECURE), vous pouvez limiter l'accès aux objets au moyen d'un privilège (créer et modifier des variables SQL internes).
-
Selon le type de données, les objets VARA de base de données (de type SEC_SQLI, SEC_SQL, SQLI et SQL) renvoient la valeur '''' (chaîne de caractères, date, heure, horodatage) ou 0 (nombre) pour les valeurs NULL.
Important ! Une erreur de conversion qui se produit pendant l'exécution des instructions SQL sur des bases de données MS SQL Server peut provoquer un blocage ou une transaction incohérente avec un résultat imprévu. Il est recommandé de vérifier très attentivement les commandes des variables SQLI car Automation Engine ne peut pas détecter ce type d'erreur.
-
Les variables PromptSet sont supportées dans les champs sélectionnés pour les variables de type BACKEND, EXEC, FILELIST, SEC_SQLI, SEC_SQL, SQLI, SQL et XML. La fonction Rechargement dynamique (prompts Liste déroulante) requiert l'utilisation de variables PromptSet.
-
You can include PromptSet variables here when using the Rechargement dynamique (prompts Liste déroulante) feature for Combobox prompts. When you use PromptSet variables in a dynamic VARA object, the Preview feature returns an error. This is because the PromptSet variables do not exist in the dynamic VARA object. However, the PromptSet variables will be resolved when objects including the PromptSet are executed.
Section Paramètres des variables
-
Type
Lecture seule, toujours SQL.
-
Instruction Oracle / Instruction SQL Server / Instruction DB2 / Instruction PostgreSQL
Instructions SQL utilisées pour sélectionner certains éléments de la base de données qui servent de valeurs de variables. Par exemple,
select * from OH
.Longueur maximale : 4096 caractères.
Pour ouvrir un éditeur de cellule afin de saisir votre instruction SQL, cliquez sur l'icône, à droite du champ.
Important ! Les instructions SQL ne sont pas vérifiées. Vous pouvez même modifier ou supprimer des entrées de la base de données.
Remarques :
- Automation Engine ne vérifie pas si ces commandes SQL contiennent des erreurs ou sont dangereuses. Elles sont passées à la base de données sans vérification. Une erreur d'exécution ne survient donc que lors de l'accès à la base de données, c'est à dire lors de la résolution des variables.
- Pour utiliser des Insérer des variables dans des objets et des scripts ou d'autres objets VARA, il vous faut définir le paramètre VAR_SECURITY_LEVEL de la variable UC_SYSTEM_SETTINGS - Paramètres système en conséquence. Sinon, les variables ne sont pas remplacées (par défaut) et une erreur de base de données se produit.
-
You can include PromptSet variables here when using the Rechargement dynamique (prompts Liste déroulante) feature for Combobox prompts. When you use PromptSet variables in a dynamic VARA object, the Preview feature returns an error. This is because the PromptSet variables do not exist in the dynamic VARA object. However, the PromptSet variables will be resolved when objects including the PromptSet are executed.
Pour exécuter une commande, sélectionnez-la, puis cliquez sur Aperçu. Les instructions sont exécutées et leurs résultats s'affichent. La fonction d'aperçu permet de vérifier les erreurs potentielles dans les instructions de base de données (si, par exemple, le type de données de l'objet VARA et de la base de données ne correspondent pas).
Exemple :
select oh_name from oh
where oh_otype = 'JOBI'
and oh_deleteflag = 0
and oh_client = &$CLIENT#
order by oh_name asc
Voir aussi :