Les objets de variables SEC_SQL ou Secure SQL extraient les valeurs des bases de données externes en toute sécurité.
SQL SECURE ressemble au type SQL et exécute également les instructions SQL sur 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. Contrairement au type SQL, vous pouvez utiliser toutes les variables prises en charge à l'intérieur des instructions SQL, sans risque d'une injection SQL dans la base de données. Les variables sont remplacées, indépendamment du paramètre VAR_SECURITY_LEVEL dans la variable UC_SYSTEM_SETTINGS.
Vous ne pouvez pas spécifier de variables directement dans le champ Requête SQL, mais vous pouvez les inclure dans des paramètres de liaison. Ces paramètres de liaison sont gérés dans les tables correspondantes et peuvent contenir des variables prédéfinies, des caractères de remplacement pour les objets VARA et des variables PromptSet. Dans le scriptEgalement un type d'objet distinct dans l'Automation Engine. SQL, utilisez le caractère ? à l'emplacement où les paramètres de liaison doivent être insérés.
Pour des raisons techniques, le système ne peut pas vérifier si seules des commandes SELECT sont utilisées dans le SQL de la variable. Pour empêcher 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). d'instructions SQL autre que SELECT, Automic recommande de déployer un utilisateurDans Automation Engine, un utilisateur se réfère à une instance d'un objet utilisateur, mais c'est en général une personne qui travaille avec les produits Automic. Chaque utilisateur a son identifiant et un ensemble de droits d'accès aux différentes parties du système Automation Engine et à la suite de produits. Ces droits d'accès se présentent sous la forme d'autorisations et de privilèges dans Automation Engine, de rôles utilisateurs dans Decision, de droits EventBase et de droits des objets pour l'application Web ARA. Vous pouvez les gérer en central avec les fonctions de gestion des utilisateurs d'AWI. Reportez-vous aussi à la gestion des droits des utilisateurs. de la base de données qui n'a que des droits de lecture.
Ce comportement particulier de remplacement des variables ne s'applique qu'aux commandes SQL. Pour utiliser les variables PromptSet dans les champs connexion et LoginDonnées de connexion pour les systèmes cible. Egalement un type d'objet distinct dans l'Automation Engine., le paramètre VAR_SECURITY_LEVEL = 3 est encore requis.
Ce type de variable requiert également un DB Service Agent démarré en mode de service BD et qui est en version v9 SP3 ou supérieure. Les anciens agents ne prennent pas en charge le type de variable SQL SECURE.
Le nombre maximal de lignes retournées est déterminé par le paramètre SQLVAR_MAX_ROWS de la variable UC_SYSTEM_SETTINGS.
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écution.
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 / Elément |
Description |
---|---|
Type | Ce champ en lecture seule affiche le type de variable SQL_SEC. Vous déterminez le type de variable au moment de la création de l'objetLes activités et déroulements que contrôle l'Automation Engine sont représentés à l'aide d'objets (voir aussi Tâche).. Il ne peut pas être modifié une fois la variable définie. |
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 passeProduit(s) : AE, SNSC. Une combinaison secrète de caractères pour un utilisateur Automation Engine. associé. Les données de connexion pour l'accès à 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. Une erreur survient à la résolution de la variable et cet objet ne contient aucune information de connexion. 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 |
Instructions SQL utilisées pour sélectionner certains éléments de la base de données qui servent de valeurs de variables. Les variables qui sont indiquées directement dans SQL ne sont pas remplacées. Pour inclure des variables, utilisez les paramètres de liaison. 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. Taille maximale : 4096 caractères |
Définition de paramètres de liaison
La table de la section Paramètre de liaison contient une liste des paramètres de liaison. Les paramètres de liaison permettent d'ajouter des valeurs de variables dans les commandes SQL. Vous pouvez utiliser des variables de script, des variables d'objet"Caractères de remplacement des valeurs définies dans l'onglet ""Variables & Prompts"" d'un objet.", des variables prédéfinies et des caractères de remplacement pour les objets VARA que vous saisissez dans cette table. Chaque ligne représente un paramètre de liaison.
La variable VAR_SECURITY_LEVEL (UC_SYSTEM_SETTINGS) n'impose aucune limitation.
Dans les instructions SQL, vous devez utiliser le caractère ? à chaque emplacement où la valeur remplacée d'un paramètre de liaison doit être insérée. Un paramètre de liaison doit exister pour chaque ?. Assurez-vous de maintenir l'ordre correct du tableau. Notez que vous ne pouvez pas utiliser des paramètres de liaison plusieurs fois.
Si une variable indiquée n'existe pas, aucune valeur ne pourra être remplacée. Dans ce cas, le nom de la variable est utilisé, ce qui peut provoquer une erreur lors de 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.
Vous pouvez utiliser des noms de variables comme paramètres de liaison, avec la valeur de votre choix.
Les types de données et les formats de saisie suivants sont pris en charge pour les paramètres de liaison :
Les autres types de champ de la base de données et les autres formats ne sont pas pris en charge. Les types de données ne sont pas convertis (pas de conversion d'horodatage à date). Si une valeur non valide est insérée, une erreur survient lors de l'exécution de la commande SQL.
Travailler dans la table Paramètres de liaison
Pour : | Procédez comme suit : |
---|---|
Ajouter une ligne à un tableau |
Cliquez sur |
Éditer une cellule dans une ligne du tableau |
Cliquez sur la cellule du tableau et modifiez sa valeur. |
Supprimer une ou plusieurs lignes du tableau |
Cochez la case de la ou des lignes, puis cliquez sur |
Supprimer toutes les lignes du tableau |
Cochez la case de l'en-tête de colonne, puis cliquez sur |
Couper une ou plusieurs lignes et les coller dans le presse-papiers AWIProduit Automic : interface Web, simple et claire, qui permet l'+char(39)+'accès aux différentes fonctionnalités d'+char(39)+'Automation Engine. |
Cochez la case de la ou des lignes, puis cliquez sur |
Copier une ou plusieurs lignes et les coller dans le presse-papiers AWI |
Cochez la case de la ou des lignes, puis cliquez sur |
Coller la ou les lignes du pesse-papiers AWI en bas du tableau. |
Cliquez sur ![]() |
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.
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. Les objets variable avec la source "Liste fichiers" ou "Backend" sont toujours créés avec le type de données "texte". Celui-ci ne peut pas être modifié. 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 :
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 script 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.
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. Exemple : Exemple : 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 : Horodatage |
|||||||||||||||
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 : 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. |
|||||||||||||||
Plage de validité |
Détermine la plage de validité de la variable. Ce paramètre peut être utilisé pour simplifier le script destiné à lire ou écrire les valeurs de variables. La clé doit normalement être indiquée comme paramètre dans l'élément de script :PUT_VAR ou GET_VAR, ce qui rend difficile l'enregistrement de certaines valeurs de façon unique. Si aucune clé n'est définie dans le script, le système choisit automatiquement celle correspondant au paramètre de l'objet variable (tel que le nom de l'agent dans un job).
|
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.
Dans l'exemple ci-dessus, l'instruction SQL suivante est saisie dans le champ Instruction SQL. Les valeurs des variables de liaison remplacent les caractères "?".
select FirstName,LastName from Person.Person
where PersonType = ?
and NameStyle = ?
and EmailPromotion = ?
order by LastName asc