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 - 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

Dans ce scénario, vous allez lire des données depuis des tables de bases de données ayant la même structure mais se trouvant dans deux différentes bases de données MySQL nommées respectivement project_q1 et project_q2. Vous allez spécifier dynamiquement les connexions à ces bases de données au moment de l'exécution, sans modifier le Job.

Déposer et relier les composants

  1. Déposez deux composants tMysqlConnection, un tMysqlInput, un tLogRow et un tMysqlClose dans l'espace de modélisation graphique.

  2. Reliez le premier tMysqlConnection au second tMysqlConnection et le second tMysqlConnection au tMysqlInput à l'aide de liens Trigger > On Subjob Ok.

  3. Reliez le tMysqlInput au tLogRow à l'aide d'un lien Row > Main.

  4. Reliez le tMysqlInput au tMysqlClose à l'aide d'un lien Trigger > On Subjob Ok.

Créer une variable de contexte

Afin de pouvoir choisir dynamiquement une connexion à la base de données au moment de l'exécution, vous devez définir une variable de contexte. Cette dernière est configurée dans les paramètres Dynamic settings du composant d'entrée de la base de données.

  1. Dans la vue Contexts, cliquez sur le bouton [+] afin d'ajouter une ligne à la table, puis cliquez dans le champ Name et saisissez un nom pour la variable, myConnection dans cet exemple.

  2. Dans le champ de la liste Type, sélectionnez List Of Value.

  3. Cliquez dans le champ Value, puis cliquez sur le bouton qui apparaît dans ce champ pour ouvrir la boîte de dialogue [Configure value of list].

  4. Dans la boîte de dialogue [Configure value of list], cliquez sur le bouton New... pour ouvrir la boîte de dialogue [New Value] et saisissez le nom de l'un des composants de connexion dans le champ de texte, tMysqlConnection_1 dans cet exemple. Cliquez ensuite sur OK pour fermer la boîte de dialogue.

    Répétez cette étape pour spécifier le nom de l'autre composant de connexion comme autre élément de liste, tMysqlConnection_2 dans cet exemple.

    Lorsque vous avez terminé, cliquez sur OK pour fermer la boîte de dialogue [Configure Values].

  5. Cochez la case à côté du champ de valeur de la variable et saisissez, dans le champ Prompt, le message que vous souhaitez afficher à l'exécution, Select a connection component: dans cet exemple.

Configurer les composants

  1. Double-cliquez sur le premier composant tMysqlConnection afin d'afficher sa vue Basic settings et saisissez les informations de connexion. Pour plus d'informations concernant la configuration du tMysqlConnection, consultez tMysqlConnection.

    Notez que ce composant sert à ouvrir une connexion à une base de données MySQL nommée project_q1.

  2. Configurez le second composant tMysqlConnection de la même façon mais en saisissant project_q2 dans le champ Database. En effet, ce composant sert à ouvrir une connexion à une autre base de données MySQL, project_q2.

  3. Double-cliquez sur le tMysqlInput afin d'ouvrir sa vue Basic settings.

  4. Cochez la case Use an existing connection et laissez la case Component List comme elle est.

  5. Cliquez sur le bouton [...] situé à côté du champ Edit schema afin d'ouvrir la boîte de dialogue [Schema]. Définissez la structure de la table de la base de données à partir de laquelle les données sont lues.

    Dans cet exemple, la structure de la table de la base de données est composée de quatre colonnes : id (de type Integer et d'une longueur de 2 caractères), firstName (de type String et d'une longueur de 15 caractères), lastName (de type String et d'une longueur de 15 caractères) et city (de type String et d'une longueur de 15 caractères). Cliquez sur OK pour fermer la boîte de dialogue et propager le schéma au composant suivant.

  6. Dans le champ Table, saisissez le nom de la table de la base de données, customers dans cet exemple. Cliquez sur Guess Query afin de générer l'instruction de la requête correspondant au schéma de votre table dans le champ Query.

  7. Dans la vue Dynamic settings, cliquez sur le bouton [+] afin d'ajouter une ligne à votre table. Dans le champ Code, saisissez le code du script de la variable de contexte que vous venez de créer, " + context.myConnection + " dans cet exemple.

  8. Dans la vue Basic settings du tLogRow, sélectionnez l'option Table pour un meilleur affichage des résultats d'exécution du Job.

  9. Dans la vue Dynamic settings du tMysqlClose, procédez de la même manière que dans la vue Dynamic settings du tMysqlInput.

Sauvegarder et exécuter le Job

  1. Appuyez sur Ctrl+S pour sauvegarder votre Job. Appuyez sur F6 ou cliquez sur Run afin de l'exécuter.

    Une boîte de dialogue s'affiche vous demander de spécifier le composant de connexion que vous souhaitez utiliser.

  2. Sélectionnez le composant de connexion tMysqlConnection_1 et cliquez sur OK.

    Les données lues depuis la base de données project_q1 s'affichent dans la console Run.

  3. Appuyez sur F6 ou cliquez sur Run afin d'exécuter le Job à nouveau. Quand la boîte de dialogue s'affiche, sélectionnez l'autre composant de connexion, à savoir tMysqlConnection_2, afin de lire les données depuis l'autre base de données, project_q2.

    Les données lues depuis la base de données project_q2 s'affichent dans la console Run.