tMSSqlSP - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Propriétés du tMSSqlSP

Famille du composant

Databases/MSSql

 

Fonction

Le composant tMSSqlSP appelle une procédure stockée de base de données.

Objectif

Le tMSSqlSP permet de centraliser des requêtes multiples ou complexes dans une base de données et de les appeler plus facilement.

Basic settings

Property type

Peut être Built-in ou Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

 

 

Built-in : Propriétés utilisées ponctuellement.

 

 

Repository : Sélectionnez le fichier des propriétés du composant. Les champs suivants sont alors pré-remplis.

 

Use an existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

Note

Lorsqu'un Job contient un Job parent et un Job enfant, la liste Component List présente uniquement les composants de connexion du Job du même niveau.

 

Host

Adresse IP du serveur de base de données.

 

Port

Numéro du port d'écoute du serveur de base de données.

 

Database

Nom de la base de données.

 

Schema

Nom du schéma.

 

Username et Password

Informations d'authentification sur l'utilisateur de base de données.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles, puis cliquez sur OK afin de sauvegarder les paramètres.

 

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

 

 

Built-in : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il est réutilisable. Voir également le Guide utilisateur du Studio Talend.

  

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

SP Name

Saisissez le nom exact de la Procédure Stockée (SP).

 

Is Function / Return result in

Cochez cette case, si une seule valeur doit être retournée.

Sélectionnez dans la liste la colonne du schéma sur laquelle est basée la valeur à obtenir.

 

Parameters

Cliquez sur le bouton [+] et sélectionnez dans le champ Schema Columns les différentes colonnes nécessaires à la procédure. Notez que le schéma de la SP peut contenir plus de colonnes qu'il n'y a de paramètres utilisés dans la procédure.

Sélectionnez le Type de paramètre :

IN : paramètre d'entrée (Input)

OUT : paramètre de sortie (Output)/valeur retournée

IN OUT : les paramètres d'entrée doivent être retournées sous forme de valeur, même après modifications via la procédure (fonction).

RECORDSET : les paramètres d'entrée doivent être retournées sous forme d'ensemble de valeurs, au lieu d'une valeur unique.

Note

Consultez Scénario 1 : Insérer des données dans des tables mère/fille si vous voulez analyser un ensemble d'enregistrements d'une table de données ou d'une requête SQL.

 

Specify a data source alias

Cochez cette case et spécifiez l'alias de la source de données créée dans Talend Runtime pour utiliser le pool de connexions partagées défini dans la configuration des données source. Cette option fonctionne lorsque vous déployez et exécutez votre Job dans Talend Runtime.

Cette option est indisponible lorsque la case Use an existing connection est cochée.

 

Data source alias

Saisissez l'alias de la source de données créée du côté de Talend Runtime.

Ce champ est disponible uniquement lorsque la case Specify a data source alias est cochée.

Advanced settings

Additional JDBC parameters

Spécifiez des informations supplémentaires de connexion à la base de données créée. Cette option est disponible lorsque la case Use an existing connection est décochée dans les Basic settings.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

Dynamic settings

Cliquez sur le bouton [+] pour ajouter une ligne à la table. Dans le champ Code, saisissez une variable de contexte afin de sélectionner dynamiquement votre connexion à la base de données parmi celles prévues dans votre Job. Cette fonctionnalité est utile si vous devez accéder à plusieurs tables de bases de données ayant la même structure mais se trouvant dans différentes bases de données, en particulier lorsque vous travaillez dans un environnement dans lequel vous ne pouvez pas changer les paramètres de votre Job, par exemple lorsque votre Job doit être déployé et exécuté dans un Studio Talend indépendant.

La table Dynamic settings n'est disponible que si la case Use an existing connection est cochée dans la vue Basic settings. Lorsqu'un paramètre dynamique est configuré, la liste Component List devient inaccessible dans la vue Basic settings.

Pour des exemples sur l'usage des paramètres dynamiques, consultez Scénario 3 : Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte et Scénario : Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement. Pour plus d'informations concernant les Dynamic settings et les variables de contexte, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant est un composant intermédiaire. Il peut être utilisé comme composant de début. Dans ce cas, seuls les paramètres d'entrée sont autorisés.

Limitation

La syntaxe de la Procédure Stockée doit correspondre à celle de la base de données.

Du fait d'une incompatibilité de licence, un ou plusieurs Jar requis pour utiliser ce composant ne sont pas fournis. Vous pouvez installer les Jar manquants pour ce composant en cliquant sur le bouton Install dans l'onglet Component. Vous pouvez également trouver les Jar manquants et les ajouter dans l'onglet Modules de la perspective Integration de votre studio. Pour plus d'informations, consultez la page https://help.talend.com/display/KB/How+to+install+external+modules+in+the+Talend+products (en anglais) ou la section décrivant comment configurer le studio, dans le Guide d'installation et de migration Talend.

Scénario : Récupérer des informations personnelles à l'aide d'une procédure stockée

Ce scénario décrit un Job récupérant un enregistrement contenant des informations personnelles à partir d'une table spécifiée. Il utilise pour cela une procédure stockée se basant sur la valeur id définie dans le flux d'entrée.

Dans ce scénario, la table de laquelle vous souhaitez récupérer des données contient des informations personnelles. Pour reproduire ce scénario, vous pouvez écrire les données dans une table à partir d'un fichier CSV, comme suit. Pour plus d'informations concernant l'écriture de données dans une table MS SQL, consultez Scénario : Insérer des données dans une table de base de données et en extraire des informations.

id;name;sex;age
1;Ford;Male;25
2;Rose;Female;30
3;Sabrina;Female;28
4;Teddy;Male;32
5;Kate;Male;35

Dans ce scénario, la procédure stockée utilisée pour récupérer les informations personnelles se présente comme suit :

CREATE PROCEDURE [dbo].[QueryPerson]
@id int,
@name varchar(50)
AS
BEGIN
SET NOCOUNT ON
SELECT * FROM dbo.person where id=@id
END

Construire le Job

  1. Créez un nouveau Job et ajoutez les composants suivants en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant à partir de la Palette : un tFixedFlowInput, un tMSSqlSP, un tParseRecordSet et deux composants tLogRow.

  2. Reliez le tFixedFlowInput au tMSSqlSP à l'aide d'un lien Row > Main.

  3. Répétez l'opération pour connecter le tMSSqlSP au premier tLogRow, le premier tLogRow au tParseRecordSet et le tParseRecordSet au second tLogRow.

Configurer les composants

Configurer le composant d'entrée

  1. Double-cliquez sur le composant tFixedFlowInput pour ouvrir sa vue Basic settings.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

    Cliquez deux fois sur le bouton [+] pour ajouter deux colonnes : id de type Integer et name de type String.

    Cliquez sur OK pour fermer l'éditeur du schéma.

  3. Dans la zone Mode, renseignez chaque colonne avec sa valeur respective. Dans cet exemple, la valeur de la colonne id est 4 et celle de la colonne name est null car elle n'est pas utilisée dans l'instruction SQL SELECT dans la procédure stockée.

Configurer le composant tMSSqlSP

  1. Double-cliquez sur le tMSSqlSP pour ouvrir sa vue Basic settings.

  2. Dans les champs Host, Port, Schema, Database, Username et Password, renseignez vos informations de connexion au serveur MS SQL.

  3. Dans le champ SP Name, saisissez le nom de la procédure stockée à utiliser. Par exemple, saisissez QueryPerson.

  4. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

    Cliquez sur le bouton pour copier toutes les colonnes du schéma d'entrée dans le schéma de sortie. Cliquez sur le bouton [+] du panneau de droite afin d'ajouter une nouvelle colonne person de type Object qui contiendra les informations personnelles à récupérer de la base de données.

    Cliquez sur OK pour fermer l'éditeur du schéma et acceptez la propagation proposée par la boîte de dialogue.

  5. Dans la zone Parameters, cliquez trois fois sur le bouton [+] pour ajouter trois lignes et sélectionnez une colonne de schéma ainsi que son type pour chaque ligne. Dans cet exemple, les colonnes id et name sont de type IN, et la colonne person est de type RECORD SET.

Configurer le tParseRecordSet

  1. Double-cliquez sur le tParseRecordSet pour ouvrir sa vue Basic settings.

  2. Dans la liste Prev. Comp. Column list, sélectionnez la colonne contenant les informations personnelles à parser. Dans cet exemple, sélectionnez person.

  3. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

    Cliquez quatre fois sur le bouton [+] dans le panneau de droite pour ajouter quatre colonnes : id et age de type Integer, et name et sex de type String.

    Cliquez sur OK pour fermer l'éditeur du schéma et acceptez la propagation proposée par la boîte de dialogue.

  4. Dans la table Attribute table, renseignez chaque colonne Value avec le nom de colonne correspondant dans la table du serveur MS SQL contenant les informations personnelles.

Configurer les composants de sortie

  1. Double-cliquez sur le premier tLogRow pour ouvrir sa vue Basic settings.

    Dans la zone Mode, sélectionnez Vertical (each row is a key/value list) pour un affichage optimal des résultats.

  2. Configurez de la même manière le second tLogRow.

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl + S pour sauvegarder votre Job.

  2. Appuyez sur F6 afin de l'exécuter.

    Les informations personnelles contenant l'ID 4 dans la table MS SQL sont affichées dans la table inférieure de la console. Notez que les valeurs des colonnes id et name affichées dans la table supérieure sont les données d'entrée.

Scénarios associés

Pour des scénarios associés, consultez :

Consultez également Scénario 1 : Insérer des données dans des tables mère/fille si vous voulez analyser un ensemble d'enregistrements d'une table de données ou d'une requête SQL.