Accéder au contenu principal Passer au contenu complémentaire

Migrer de la fonction DatabaseSelect au tDBInput avec plusieurs entrées

Mettez à jour votre Job et votre map à plusieurs entrées pour remplacer la fonction DatabaseSelect dépréciée par des composants tDBInput.

Avant de commencer

  • Vous avez un Job contenant un tHMap avec plusieurs entrées utilisant des fonctions DatabaseSelect.
  • Vous avez créé une connexion à votre base de données dans le Studio Talend. Pour plus d'informations, consultez Configurer une connexion à une base de données. Assurez-vous que le schéma est identique à la structure utilisée dans votre map.

Pourquoi et quand exécuter cette tâche

Dans cet exemple, vous avez un Job simple comprenant un tHMap sélectionnant des données à partir de deux tables de bases de données contenant des informations relatives à l'entreprise et les mappant vers une structure XML. Ensuite, un tFileOutputRaw écrit le résultat dans un fichier XML. Le Job doit ressembler à ceci :
La map utilisée dans le tHMap ressemble à ceci :

L'objectif de cet exemple est de supprimer la fonction DatabaseSelect dépréciée et de conserver le même comportement pour le Job.

Procédure

  1. Glissez-déposez vos tables de base de données d'entrée depuis Metadata (Métadonnées) > Db Connections (Connexions aux bases de données) dans votre Job, avant le tHMap.
  2. Sélectionnez le tDBInput lorsque cela vous est demandé et cliquez sur OK.
  3. Reliez les tDBInput à votre tHMap à l'aide de liens Row > Main.
    Note InformationsImportant : Les tables de bases de données doivent être reliées dans le même ordre que dans la structure d'entrée utilisée dans la map. Dans cet exemple, la première table sous la racine est employees et la seconde est departments. Pour que la map fonctionne correctement, vous devez relier d'abord le composant employees, puis le composant departments.
  4. Facultatif : Si nécessaire, double-cliquez sur les composants tDBInput et mettez à jour la requête pour qu'elle corresponde aux filtres utilisés dans la fonction DatabaseSelect.
  5. Dans la perspective Mapping, développez le dossier Representations (Représentations) sous toutes les structures des tables de base de données utilisées en entrée dans votre map.
    • S'il y a une représentation Map, vous pouvez passer à l'étape suivante.
    • S'il n'y a pas de représentation Map, cliquez-droit sur Representations (Représentations) et cliquez sur New Map (Nouvelle map).
  6. Ouvrez la map utilisée dans votre Job et cliquez sur Database (Base de données) du côté Input (Entrée), puis cliquez sur Clear (Effacer) et sur OK pour supprimer la représentation.
  7. Supprimez les fonctions DatabaseSelect de la structure d'entrée.

    Elles peuvent être sur l'élément correspondant au nom de la table de base de données ou sur la boucle Row, dans l'onglet IO/Database (ES/Base de données).

  8. Cliquez sur l'élément racine de chaque table de la structure d'entrée, employees et departments dans cet exemple et ajoutez une fonction ReadURL dans l'onglet IO/Database (ES/Base de données).
  9. Double-cliquez sur la fonction ReadURL, cliquez sur le bouton [...] près du champ Representation (Représentation) et sélectionnez Map, puis cliquez sur OK.
  10. Sauvegardez votre map et votre Job.

Résultats

Votre Job utilise à présent les composants tDBInput au lieu de la fonction DatabaseSelect dépréciée. Vous pouvez exécuter le Job, vous obtiendrez le même résultat.
Note InformationsConseil : Il est possible que vous deviez fermer et rouvrir votre Job pour supprimer l'icône d'erreur sur le tHMap.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !