Variables SQL

Les objets de variables SQL extraient les valeurs des bases de données externes en toute sécurité.

Les valeurs des variables qui utilisent la source SQL sont chargées à partir d'une base de donnéesUne base de données est un ensemble organisé de données qui comprend plusieurs structures de données pertinentes. externe à l'aide des instructions SQL. Dans ce cas, la base de données du système AE"Environnement contrôlé par les composants AE. [Anciennement appelé ""système UC4"".]" ne peut pas être utilisée.
La source de variable ''SQL - interne'' peut être spécifiée pour utiliser la base de données AE.

Les éléments suivants sont nécessaires pour récupérer des valeurs dans une base de données :

Notez que les variables SQL requièrent que l'agent de base de données soit configuré et démarré de manière individuelle. Par conséquent, il ne peut être utilisé pour exécuter des jobs et des événements de base de données. Voir Installing the Agent for Database Variables pour toute information.

Pour modifier le temps maximal accordé pour résoudre les variables SQL, utilisez le paramètre VAR_TIMEOUT (UC_HOSTCHAR_*).

Les longueurs des valeurs sont toujours illimitées. Si une limite de texte maximale a été choisie dans l'onglet Attributs, celle-ci ne s'applique qu'à la première colonne de valeurs. Les éléments dépassant cette limite seront exclus.

Les caractères non imprimables sont automatiquement supprimés (caractères ASCII 0x00 à 0x20 et 0x7F).

Le nombre maximal de lignes retournées est déterminé par le paramètre SQLVAR_MAX_ROWS de la variable UC_SYSTEM_SETTINGS.

L'Automation EngineCe composant commande un système Automation Engine. Il se compose de plusieurs processus serveur. ne supprime pas les caractères espace à la fin des valeurs des variables SQL.

Lorsque vous utilisez des variables de base de données (types SEC_SQLI, SEC_SQL, SQLI, et SQL), les champs binaires ne sont pas pris en charge. Les données binaires résultant d'une requête SQL provoqueront une erreur dans l'aperçu ou lorsque les valeurs sont récupérées lors de l'exécutionDurée d'exécution d'une Tâche. C'est la période entre le début et la fin de la Tâche. La période d'activation n'en fait pas partie (voir aussi Activation et Démarrage)..

Notez que dans les variables de base de données (de type SEC_SQLI, SEC_SQL, SQLI, et SQL), pour des raisons techniques, le système ne vérifiera pas les instructions SQL traitées. Ceci signifie aussi que vous pouvez modifier ou supprimer des enregistrements de données à l'aide d'objets variable. Pour des raisons de sécurité, Automic recommande de limiter en conséquence l'accès utilisateur. Si possible, déployez un utilisateur de base de données ayant des droits en lecture seule pour les variables qui ont accès à 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 variables de base de données (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.

Les variables PromptSet sont prises en charge dans les champs de sélection destinés aux types de variables BACKEND, EXEC, FILELIST, SEC_SQLI, SEC_SQL, SQLI, SQL, et XML. L'utilisation de variables PromptSet est nécessaire pour la création de Recharger dynamiquement les dialogues PromptSet.

Champ

Description

Type Ce champ en lecture seule affiche le type de variable SQL. Vous déterminez le type de variable au moment de la création de l'objet. Il ne peut pas être modifié une fois la variable définie.

Connexion

L'objet Objets connexion de type base de données qui contient les paramètres de connexion pour la base de données sélectionnée.

Vous pouvez inclure des variables PromptSet ici, en utilisant la fonction Rechargement dynamique pour les invites de zones de listes modifiables. Lorsque des variables PromptSet sont utilisées dans des objets variable dynamiques et que vous cliquez sur Aperçu, vous obtiendrez une erreur. La raison en est que les variables PromptSet n'existent pas dans l'objet variable dynamique. Cependant, les variables PromptSet seront résolues lorsque les objets incluant des PromptSet sont exécutés.

Login

L'objet Objet Login qui enregistre le nom de l'utilisateur de la base de données et le mot de passe associé.

Les données d'identification permettant d'accéder à la base de données sont extraites à partir de l'objet connexion si vous n'avez pas spécifié d'objet Login, ni coché l'option Login par défaut. Si aucune information d'identification ne s'y trouve non plus, une erreur survient à la résolution de la variable.

Vous pouvez inclure des variables PromptSet ici, en utilisant la fonction Rechargement dynamique pour les invites de zones de listes modifiables. Lorsque des variables PromptSet sont utilisées dans des objets variable dynamiques et que vous cliquez sur Aperçu, vous obtiendrez une erreur. La raison en est que les variables PromptSet n'existent pas dans l'objet variable dynamique. Cependant, les variables PromptSet seront résolues lorsque les objets incluant des PromptSet sont exécutés.

Login par défaut

Vous pouvez aussi sélectionner un objet Login pour les variables SQL dans l'objet Utilisateur (login par défaut). Si le paramètre Appliquer le Login utilisateur par défaut est activé, l'objet Login qui a été attribué à l'utilisateur connecté est utilisé. L'objet Login configuré dans la variable est alors ignoré. Si aucun Login n'est défini ou si un Login non valide est défini dans l'objet utilisateur, l'accès à la variable génère une erreur.

Instruction SQL

Champ texte pour spécifier des instructions SQL. Ces instructions SQL sont utilisées pour sélectionner des enregistrements de données de la base de données et les attribuer aux valeurs de variable.

Exemple : select * from col

Notez que toutes les instructions SQL sont autorisées dans ce champ texte. Vous pouvez même modifier ou supprimer des entrées de la base de données.

AE ne vérifie pas si les instructions 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 peut donc survenir que lors de l'accès à la base de données, qui a lieu au moment de la résolution des variables.

Notez que vous devez utiliser le paramètre VAR_SECURITY_LEVEL de la variable UC_SYSTEM_SETTINGS dans les instructions SQL si vous utilisez des variables prédéfinies ou d'autres objets variable. Sinon, aucun remplacement n'est effectué (par défaut) et une erreur de base de données se produit.

Vous pouvez inclure des variables PromptSet ici, en utilisant la fonction Rechargement dynamique pour les invites de zones de listes modifiables. Lorsque des variables PromptSet sont utilisées dans des objets variable dynamiques et que vous cliquez sur Aperçu, vous obtiendrez une erreur. La raison en est que les variables PromptSet n'existent pas dans l'objet variable dynamique. Cependant, les variables PromptSet seront résolues lorsque les objets incluant des PromptSet sont exécutés.

Longueur maximale : 4096 caractères

Spécification des paramètres Données et format

Colonne

Description

Type de données

Le type de données détermine le format de la valeur des variables.

  • Texte : Chaîne de caractères alphanumériques. Les espaces vides à la fin sont supprimés, ceux du début sont conservés. Si la case Limiter la longueur n'est pas cochée, aucune limite ne sera appliquée à la longueur de la chaîne de caractères.

    Vous pouvez formater la chaîne de caractères ainsi :

    • Sélectionnez Limiter la longueur pour afficher le dialogue de saisie Longueur de texte max. vous permettant de limiter la longueur du texte.
      Valeurs possibles : 1 à 1024
    • Sélectionnez Majuscules pour convertir le texte de la variable en majuscules.
  • Nombre : Entier signé, c.-à-d. nombre entre 0 et 2147483647.

    Vous pouvez formater la chaîne de caractères ainsi :

    • Sélectionnez la liste déroulante Format de sortie pour choisir le mode d'affichage du nombre.
    • Sélectionnez Définir la valeur min. pour afficher le dialogue de saisie Valeur min..
      Valeurs autorisées : max. 16 chiffres avant et 16 chiffres après la virgule
    • Sélectionnez Définir la valeur max. pour afficher le dialogue de saisie Valeur max..
  • Heure : Le format de l'heure par défaut est hh:mm:ss. Vous pouvez :
    • Sélectionner un autre format dans la liste déroulante.
    • Définir une valeur minimum et maximum.
  • Date : Le format de date par défaut est aaaa-mm-jj. Vous pouvez :
    • Sélectionner un autre format dans la liste déroulante.
    • Définir une valeur minimum et maximum. Notez que vous ne pouvez pas définir de date avant le 01.01.1980 comme valeur minimum.
  • Horodatage : Le format d'horodatage par défaut est aaaa-mm-jj hh:mm:ss. Vous pouvez :
    • Sélectionner un autre format dans la liste déroulante.
    • Définir une valeur minimum et maximum. Notez que vous ne pouvez pas définir de date avant le 01.01.1980 comme valeur minimum.

Le format exact du type de données sélectionné (à l'exception de ''chaîne") peut être défini dans le champ Format de sortie.

Le type de données des valeurs disponibles dans la première colonne est vérifié. Le type de données de la variable doit correspondre à celui de la première colonne renvoyé par les commandes SQL, pour les sources ''SQL'' ou "SQL interne". Les données peuvent aussi être traitées à l'aide d'instructions SQL spécifiques. Une erreur se produit si des variables statiques doivent être enregistrées ou si le type de données ne correspond pas lors de l'accès à des variables dynamiques.

Notez les points suivants si vous modifiez le type de données d'un objet variable statiqueObjet variable avec le paramètre "Source" - "statique" : Les valeurs des Variables sont saisies par l'Utilisateur ou par un script et restent enregistrées dans l'objet. qui contient déjà des valeurs :

  • Vous pouvez modifier les types "Nombre", "Horodatage", "Heure" et "Date" en "Texte". Les valeurs sont converties sans aucune modification.
  • Un format de sortie doit être sélectionné si "Texte" a été modifié en "Nombre", "Horodatage", "Heure" ou "Date". Lors de l'enregistrement de l'objet variable, le système vérifie que les valeurs correspondent au format spécifié.
  • Vous ne pouvez pas modifier les types de données "Date", "Heure", "Nombre" et "Horodatage". Ils doivent être tout d'abord convertis en type de données "Texte" avant de pouvoir les modifier.

Le type de données des variables "Multi", "SQL" et "SQL interne" peut être modifié à n'importe quel moment.

Le type de données de la variable de scriptCaractères de remplacement d'une valeur dans un Script. en question ("float", "signed", "unsigned" ou "string") n'a pas d'importance pour les valeurs qui sont extraites à partir d'objets variable de type "Nombre" en utilisant l'élément de scriptEgalement un type d'objet distinct dans l'Automation Engine. GET_VAR. La valeur peut toujours être enregistrée. Les signes et les décimales sont supprimés lorsque le type de données de la variable de script ne les prend pas en charge. Si un autre type de données a été spécifié dans l'objet variable, les valeurs sont toujours transmises au script sous forme de "chaîne".

Format de sortie

Ce paramètre définit le format dans lequel les valeurs sont enregistrées dans l'objet variable (source : variables statiques) ou extraites dans la source de données (variables dynamiques).

Le contenu de ce menu de sélection dépend du type de données. Plusieurs formats différents sont disponibles pour chaque type de données (à l'exception du type ''chaîne").

Le format de sortie ne fait référence qu'à la première colonne. Pour les variables statiques, il s'agit de la colonne Valeur 1, pour les variables multi et base de données, il s'agit de la première colonne de base. Notez que les variables Multi utilisent la première colonne de base comme colonne de référence. Cela signifie que le format de sortie de la variable source peut avoir une incidence sur les valeurs extraites.

Le format de sortie des variables statiques pour un type de données déterminé est modifiable à tout moment. Les valeurs sont converties dans le nouveau format. Si les valeurs ne correspondent pas à l'ancien format, il n'est pas possible d'effectuer une conversion dans le nouveau format.

Le format dans lequel les valeurs sont saisies dans les variables statiques n'a pas d'importance tant qu'il s'agit d'un format pris en charge par AE pour le type de données en question. Les valeurs sont ensuite converties dans le format de sortie approprié.

Le type de données "texte" n'affiche pas ce champ.

Type de données Formats disponibles Format par défaut

Horodatage

  • AAAAMMJJHH24MISS
  • AAAA-MM-JJ HH:MM:SS

AAAA-MM-JJ HH:MM:SS

Date

  • JJ-MOI-AAAA
  • JJ-MOI-RR
  • MM-JJ-AAAA
  • AAAAMMJJ
  • MMJJRR
  • JJMMRR
  • MM-JJ-RR
  • MM/JJ/RR
  • AAMMJJ
  • AA.MM.JJ
  • AA-MM-JJ
  • AAAAMMJJ
  • AAAA.MM.JJ
  • AAAA-MM-JJ
  • JJMMAA
  • JJ.MM.AA
  • JJ-MM-AA
  • JJMMAAAA
  • JJ.MM.AAAA
  • JJ-MM-AAAA
  • MMJJAA
  • MMJJAAAA
  • MM/JJ/AA
  • MM/JJ/AAAA

AAMMJJ

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

HHMMSS

Nombre
  • 0.00
  • +0.00
  • -0.00
  • 0
  • +0
  • -0
  • 16 chiffres
16 chiffres

Certains formats de date contiennent "RR" comme caractères de remplacement pour l'année raccourcie. "AA" et "RR" acceptent différentes conventions de décompte des siècles sur la base des deux caractères de la date raccourcie.
"AA" : si le nombre se situe entre 00 et 80, le siècle actuel s'applique. Pour la plage allant de 81 à 99, c'est le siècle précédent. 
"RR" : si le nombre se situe entre 00 et 49, le siècle actuel s'applique. Pour la plage allant de 50 à 99, c'est le siècle précédent.

Exemple :
Format de date "JJMMAA'" et la date complète qui en résulte :
"010305" correspond au 01 mars 2005
"010365" correspond au 01 mars 2065
"010380" correspond au 01 mars 2080
"010385" correspond au 01 mars 1985

Exemple :
Format de date ''JJMMRR'" et la date complète qui en résulte :
"010305" correspond au 01 mars 2005
"010365" correspond au 01 mars 1965
"010380" correspond au 01 mars 1980
"010385" correspond au 01 mars 1985

Pour le type de données ''Heure'' ou ''Horodatage'', la valeur pour l'heure doit représenter un nombre à quatre ou six chiffres. Les décimales sont supprimées. Un nombre à quatre chiffres est converti en heures et minutes.

Exemple :
Type de données : Heure
Format de sortie : HH:MM:SS
Valeur de l'utilisateur ou de la source de données : 1234, 1234.5, 123400, 12:34, 12:34:00
Valeur de variable qui en résulte : 12:34:00

Type de données : Horodatage
Format de sortie : AAAA-MM-JJ HH:MM:SS
Valeur de l'utilisateur ou de la source de données : 20110325 2201, 20110325 2201.5, 20110325 220100
Valeur de variable qui en résulte : 2011-03-25 22:01:00

Définir la valeur min.

Valeur min.

Applique une valeur minimale.

Le type de données "texte" n'affiche pas ces champs.

Définir la valeur max.

Valeur max.

Applique une valeur maximale.

Le type de données "texte" n'affiche pas ces champs.

Limiter la longueur

Longueur de texte max.

Applique un nombre maximal de caractères.

Valeurs autorisées : 1 à 1024

Si cette option est désactivée, la valeur est illimitée.

La colonne clé des objets VARA a une limite maximale de 200 caractères. Cette limite existe toujours et il est impossible de l'augmenter ou de la désactiver.

La colonne de résultats des variables dynamiques est illimitée. La longueur dépend des colonnes de valeurs.

Cette limite se réfère à la première colonne de valeurs pour les variables statiques et dynamiques. La clé ou la colonne de résultat n'est pas vérifiée.

Les valeurs qui dépassent la longueur maximale sont exclues.

Seul le type de données "texte" affiche ces champs.

Majuscules

Les minuscules dans les valeurs de variable sont automatiquement transformées en majuscules. Cela ne concerne que la première colonne de valeurs.

Seul le type de données "texte" affiche ce champ.

Format du résultat

Définition du contenu de la colonne résultat.

La première colonne affichée dans l'aperçu est la colonne résultat. Les autres colonnes contiennent les valeurs des colonnes de la base de données qui ont été retournées par la requête SQL. La colonne de résultat peut se composer d'une combinaison des colonnes de valeurs et d'autres caractères au choix. Ceci est défini par le format du résultat.

Les numéros de colonne qui ont été indiqués entre accolades { } dans le champ Format du résultat sont remplacés par la valeur de la colonne concernée.

Exemple :
Colonne de valeurs 1 : JOB1
Colonne de valeurs 2 : WIN01
Format du retour : {1}_{2}
Colonne de résultat : JOB01_WIN01

La colonne de résultat correspond à la première colonne de valeur si aucun format du résultat n'est indiqué.

Les limitations des variables (valeur min., valeur max. et limiter le texte) n'influencent pas la colonne de résultat, mais uniquement la première colonne renvoyée. Si la valeur de cette colonne dépasse la plage autorisée, la ligne en question est ignorée et n'est pas disponible via l'objet variable.


Spécification du paramètre Accès au script

Vous pouvez spécifier un comportement à adopter lorsque le code est introuvable, via les cases d'option Si code introuvable.

Pour :

Choisir :

Affiche un message d'erreur si un objet tente d'accéder par script à un élément absent lors de l'exécution. Renvoie une erreur
N'utilise pas le résultat du format de sortie si " " Retourne les valeurs initiales

Aperçu de commandes

Pour exécuter une commande, sélectionnez-la, puis cliquez sur Aperçu. Cela exécute les instructions SQL et affiche les résultats. Ainsi, les instructions SQL sont vérifiées et d'autres erreurs peuvent être identifiées (par exemple, le type de données de l'objet variable ne correspond pas à celui de la base de données) .

L'agent de base de données envoie les données pour l'aperçu dans un message à l'Automation Engine. Une erreur se produit si le message dépasse la longueur maximale acceptée par le processus du serveur (voir paramètre MaxMsgSize= du fichier Automation Engine UCSRV.INI, valeur par défaut : 3145 728 octets). Dans ce cas, limitez le résultat à l'aide d'un nombre de lignes maximal ou à l'aide d'instructions SQL.