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

Migrer de la fonction DatabaseSelect vers un seul tDBInput

Mettez à jour votre Job et votre map pour remplacer la fonction DatabaseSelect dépréciée par un composant tDBInput.

Avant de commencer

  • Vous avez un Job contenant un tHMap utilisant une fonction 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 contenant un tHMap sélectionnant des données d'une base de données contenant des informations concernant des employé·es et les mappant vers une structure XML et un tFileOutputRaw écrivant 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 votre table 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 le tDBInput à votre tHMap à l'aide d'un lien Row > Main.
  4. Double-cliquez sur le tDBInput et mettez à jour la requête pour qu'elle corresponde aux filtres utilisés dans la fonction DatabaseSelect.
    Dans cet exemple, vous souhaitez sélectionner les enregistrements dans lesquels la valeur de EMPLOYEE_ID est supérieure à 200. La requête complète doit ressembler à ceci :
    "SELECT 
      `employees`.`EMPLOYEE_ID`, 
      `employees`.`FIRST_NAME`, 
      `employees`.`LAST_NAME`, 
      `employees`.`EMAIL`, 
      `employees`.`PHONE_NUMBER`, 
      `employees`.`HIRE_DATE`, 
      `employees`.`JOB_ID`, 
      `employees`.`SALARY`, 
      `employees`.`COMMISSION_PCT`, 
      `employees`.`MANAGER_ID`, 
      `employees`.`DEPARTMENT_ID`
    FROM `employees`
    WHERE `EMPLOYEE_ID` > 200"
  5. Dans la perspective Mapping, développez le dossier Representations (Représentations) sous la structure de la table de base de données utilisée 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 sélectionnez Map et cliquez sur OK pour mettre à jour la représentation.
  7. Supprimez la fonction DatabaseSelect de la structure d'entrée.

    Elle peut être sur l'élément racine ou sur la boucle Row, dans l'onglet IO/Database (ES/Base de données).

  8. Sauvegardez votre map et votre Job.

Résultats

Votre Job utilise à présent le composant 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 !