Rubrique précédente: Autres étapes de transactionRubrique suivante: Etape SQL Database Execution (JDBC with Asset) (Exécution d'une base de données SQL (JDBC avec actif))


Etape SQL Database Execution (JDBC) (Exécution d'une base de données SQL (JDBC))

L'étape SQL Database Execution (Exécution d'une base de données SQL (JDBC)) vous permet de vous connecter à une base de données via JDBC et d'effectuer des requêtes SQL sur la base de données.

La syntaxe SQL complète est prise en charge, mais la requête SQL n'est pas validée. La requête SQL est transférée à la base de données dans laquelle elle est validée. Si vous obtenez une erreur SQL, elle est capturée dans la réponse. Vous pouvez effectuer une assertion sur l'erreur. Vérifiez que la requête SQL est valide pour le gestionnaire de bases de données que vous utilisez.

Conditions préalables : le pilote JDBC approprié pour votre base de données doit figurer dans le classpath de DevTest. Vous pouvez placer le fichier JAR de pilote dans le répertoire de déploiement à chaud. Le classpath de DevTest inclut le pilote client Derby ; vous n'avez donc pas besoin de le rajouter.

Conditions préalables relatives aux paramètres : vous devez disposer du nom de la classe de pilote JDBC, de l'URL JDBC pour votre base de données, ainsi que de l'ID d'utilisateur et du mot de passe pour la base de données. Vous devez également connaître les schémas pour les tables de la base de données, afin de pouvoir générer les requêtes SQL.

Etape SQL Database Execution (JDBC) (Exécution d'une base de données SQL)

  1. Entrez les paramètres suivants dans l'éditeur d'étapes de base de données SQL :

     

    Connection Info (Informations sur la connexion) :

    JDBC Driver (Pilote JDBC)

    Entrez ou sélectionnez le nom de package complet de la classe de pilotes appropriée. Les classes de pilotes standard sont disponibles dans la liste déroulante. Vous pouvez également utiliser le bouton Browse (Parcourir) pour accéder au classpath de DevTest pour la classe de pilotes.

    Connect String (Chaîne de connexion)

    La chaîne de connexion est l'URL JDBC standard pour votre base de données. Entrez ou sélectionnez l'URL. Les modèles d'URL JDBC pour les gestionnaires de bases de données communs sont disponibles dans la liste déroulante.

    Max Rows to Fetch (Nombre maximum de lignes à extraire)

    Entrez le nombre maximum de lignes à renvoyer dans l'ensemble de résultats. Ce champ est obligatoire. Entrez -1 pour un nombre de lignes illimité.

     

    Execution Info (Informations sur l'exécution) :

    User ID (ID de l'utilisateur)

    Entrez un ID d'utilisateur (si requis par la base de données).

    Password (Mot de passe)

    Entrez un mot de passe (si requis par la base de données).

    Keep Connection Open (Maintenir la connexion ouverte)

    Si cette option est sélectionnée, la connexion à la base de données ouverte lors de la première exécution de l'étape est mise en cache. Cette connexion à la base de données est fermée lorsque le nettoyage de la mémoire est effectué pour l'étape. Si l'option Keep Connection Open n'est pas sélectionnée, la connexion est fermée à chaque exécution de l'étape.

    Returns Result Set (Renvoyer un ensemble de résultats)

    Cochez cette case si la requête renvoie un ensemble de résultats, c'est-à-dire, s'il s'agit d'une requête de type SELECT. Ne cochez pas la case s'il s'agit d'une requête de type UPDATE, INSERT ou DELETE. Si cette case à cocher est définie de manière incorrecte, la requête entraîne une erreur.

    If SQL error (En cas d'erreur SQL)

    Sélectionnez l'étape vers laquelle rediriger si une erreur se produit.

     

    Pour communiquer avec le serveur de démonstration local, utilisez les options suivantes :

    JDBC Driver (Pilote JDBC)

    org.apache.derby.jdbc.ClientDriver

    Connect String (Chaîne de connexion)

    jdbc:derby://localhost:1527/reports/lisa-reports.db

    User ID (ID de l'utilisateur)

    sa

    Password (Mot de passe)

    sa

  2. Une fois que vous avez entré les informations de connexion à la base de données, y compris l'ID d'utilisateur et le mot de passe (si nécessaire), cliquez sur Test Connection (Tester la connexion) pour tester la connexion.

    Si les informations sont correctes, un message de confirmation s'affiche dans une fenêtre. Dans le cas contraire, un message d'erreur s'affiche.

  3. Vous pouvez entrer l'instruction SQL dans la fenêtre inférieure.

    Vous pouvez utiliser des propriétés dans l'instruction SQL. DevTest procède au remplacement des paramètres avant de transférer la chaîne SQL à la base de données.

    L'étape JDBC prend en charge les appels de procédure stockés. Les types de données de base (chaînes, nombres, dates, valeurs booléennes) sont pris en charge en tant qu'arguments qu'une procédure stockée utilise comme entrée et retour. Cliquez sur Add (Ajouter) LISA-- icon_image_whiteplussign pour ajouter un paramètre. Vous ne pouvez pas modifier les nombres dans la colonne Parameter (Paramètre). Lorsque vous ajoutez, supprimez et déplacez des lignes, les nombres dans la colonne Parameter sont automatiquement recomptés.

    L'étape JDBC peut également utiliser des instructions JDBC préparées. Vous pouvez utiliser des points d'interrogation dans une instruction SQL et ajouter des propriétés {{properties}} nommées. Cela vous permet de ne pas vous préoccuper du type de l'argument ou de devoir échapper les apostrophes dans les valeurs de paramètre. Une instruction insert into MYTABLE(COL1,COL2) values (?, ?) avec une référence à {{col1}} et {{col2}} est plus facile à comprendre. Les caractères d'échappement et les types sont automatiquement convertis.

    Pour inclure une valeur nulle dans l'instruction, appliquez la syntaxe suivante : {{<<NULL>>}}.

  4. Après avoir créé la requête SQL, cliquez sur Test/Execute SQL (Tester/exécuter l'expression SQL) pour l'exécuter.

    Un message indique le statut du résultat.

  5. Cliquez sur OK.

    Les résultats s'affichent dans l'onglet Result Set (Ensemble de résultats).

  6. Vous pouvez désormais créer des filtres et des assertions à appliquer à l'ensemble de résultats.

    Les icônes dans la partie inférieure de l'onglet Result Set (Ensemble de résultats) permettent d'accéder facilement aux assertions et aux filtres suivants :

    Get Value For Another Value in a ResultSet Row (Obtenir la valeur d'une autre valeur dans une ligne d'ensemble de résultats)

    Sélectionnez une cellule de champ de recherche, un filtre de champ de valeur et entrez un nom de propriété. Si la valeur de la cellule dans le champ de recherche est trouvée, la valeur du champ Value (Valeur) de cette ligne est définie comme la valeur de la propriété entrée.

    Filtre Parse Result for Value (Rechercher la valeur dans l'ensemble de résultats)

    La valeur dans la cellule sélectionnée est définie comme la valeur de la propriété entrée.

    Result Set Contents Assertion (Assertion de contenu d'ensemble de résultats)

    La valeur dans le champ sélectionné (colonne) est comparée à l'expression régulière entrée.

    Pour plus d'informations sur ces filtres et assertions et d'autres pertinents pour les ensembles de résultats, consultez les sections Types de filtres et Types d'assertions.

L'étape SQL Database Execution (Exécution d'une base de données SQL) a un nom par défaut qui suit la convention : JDBC SQLfunction tablename. Les fonctions prises en charge pour les noms par défaut de l'étape sont select, insert, delete, update et perform. Vous pouvez modifier les noms d'étape à tout moment.