Application de workflow EXECSQL

Aperçu

L'application de workflow EXECSQL vous permet d'exécuter une ou plusieurs requêtes SQL dans un processus.

Elle vous permet de récupérer des informations au travers de requêtes SELECT par exemple, afin de pouvoir utiliser le résultat dans des conditions du processus.

Mode de fonctionnement

  • L'application EXECSQL requiert les paramètres CONNECTION_NAME (qui correspond au nom de la connexion) et QUERY (qui correspond à la requête à exécuter).

  • Il est possible de spécifier une ou plusieurs commandes par action EXECSQL. Pour ceci, les paramètres doivent être préfixés par CMDx_, où x correspond au numéro de la commande (p.ex. : CMD1_).

  • Les types de requête supportés sont SELECT, INSERT, UPDATE, DELETE , SCALAR et PROCEDURE.

  • L'application supporte la gestion des transactions SQL.

  • Il est possible d'utiliser une connexion globale pour plusieurs commandes. Pour ceci, il ne faut pas préfixer le paramètre CONNECTION_NAME par CMDx_. Il n'est pas possible d'utiliser une connexion globale et une connexion locale (p.ex. : CONNECTION_NAME et CMD2_CONNECTION_NAME).

  • Il est possible d'utiliser une transaction globale pour plusieurs commandes. Pour ceci, il ne faut pas préfixer le paramètre TRANSACTION par CMDx_. Il n'est pas possible d'utiliser une transaction globale et une transaction locale (ex: TRANSACTION et CMD2_TRANSACTION). Il est nécessaire de définir une connexion globale pour pouvoir définir une transaction globale.

  • Des logs d'application sont disponibles. Ceux-ci peuvent être spécifiés en définissant la valeur du paramètre ExecSqlLogLevel dans le fichier web.config sur 0 pour désactiver la journalisation, 1 pour les logs d'erreur, 2 pour des logs d'informations ou 3 pour les logs de débogage; la valeur par défaut est 0.

Paramètres obligatoires

Paramètres facultatifs

Général

  • Si vous souhaitez alimenter un tableau à l'aide du paramètre FORM_DATA_GRIDVIEW, il est nécessaire que le contenu du FORM_DATA contiennent au moins le schéma XML.

  • Si la première action du processus est une action EXECSQL, vous devez mettre une valeur par défaut dans le FORM_DATA, avec la définition du schéma.

Paramètres de requête

Il est possible de définir pour chaque requête des paramètres à utiliser lors de l'exécution. Les paramètres peuvent être définis de deux façons, soit en utilisant le préfixe QUERY_PARAM, soit en utilisant un arobase (@).

📌 Exemple

Vous pouvez utiliser QUERY_PARAM_MyParam ou @MyParam, où MyParam correspond au nom du paramètre défini dans la requête.

Paramètres de retour

Général

Requête SELECT

Requête SCALAR

Exemples

Requête SELECT

Stockage du retour dans des données

Alimentation d'un tableau

Dans le cas où EXECSQL est la première action du processus, vous devez définir une valeur par défaut pour la donnée FORM_DATA contenant le schéma du tableau comme dans l'exemple ci-dessous :

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
    <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
        <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
            <xs:complexType>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element name="Table1">
                        <xs:complexType>
                            <xs:sequence>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                    <xs:element name="REQUEST_GRID">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="REQUEST_GRID_LASTNAME" type="xs:string" minOccurs="0"/>
                                <xs:element name="REQUEST_GRID_FIRSTNAME" type="xs:string" minOccurs="0"/>
                                <xs:element name="REQUEST_GRID_USERNAME" type="xs:string" minOccurs="0"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:choice>
            </xs:complexType>
        </xs:element>
    </xs:schema>
    <Table1></Table1>
</NewDataSet>

Requête INSERT

Voici une autre possibilité pour les paramètres de requête :

Requête UPDATE

Requête DELETE

Procédure stockée

Le type de requête PROCEDURE ne permet pas de retourner de valeur. Si vous souhaitez retourner une valeur, il faut utiliser le type SELECT.

Requête SCALAR

Lancement de plusieurs requêtes

Requêtes avec transactions et gestion des erreurs

Dernière mise à jour