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

Écrire un fichier dans MySQL si le nombre d'enregistrements correspond à une valeur de référence

Dans ce scénario, le tFileRowCount compte le nombre d'enregistrements d'un fichier .txt et compare ce nombre à une valeur de référence grâce au tJava. Lorsque les deux valeurs correspondent, le fichier .txt est écrit dans une table MySQL.

Le fichier .txt contient deux enregistrements :

1;andy
         2;mike

Relier les composants

Procedure

  1. Déposez un tFileRowCount, un tJava, un tFileInputDelimited et un tMysqlOutput de la Palette dans l'espace de modélisation graphique.
  2. Reliez le tFileRowCount au tJava à l'aide d'un lien Trigger > OnSubjobOk.
  3. Reliez le tJava au tFileInputDelimited à l'aide d'un lien Trigger > Run if.
  4. Reliez le tFileInputDelimited au tMysqlOutput à l'aide d'un lien Row > Main.

Configurer les composants

Procedure

  1. Double-cliquez sur le tFileRowCount pour ouvrir sa vue Basic settings.
  2. Dans le champ File Name, saisissez le chemin complet vers le fichier .txt. Vous pouvez également cliquer sur le bouton [...] afin de parcourir votre système jusqu'au fichier.
    Cochez ensuite la case Ignore empty rows.
  3. Double-cliquez sur le tJava pour ouvrir sa vue Basic settings.
    Dans la zone Code, saisissez la fonction permettant d'afficher le nombre de lignes du fichier :
    System.out.println(globalMap.get("tFileRowCount_1_COUNT"));
  4. Cliquez sur le lien If de type Trigger pour ouvrir sa vue Basic settings.
    Dans la zone Condition, saisissez l'instruction permettant de déterminer si le nombre de lignes est égal à 2 :
    ((Integer)globalMap.get("tFileRowCount_1_COUNT"))==2
    Ce lien If signifie que si le nombre de lignes est égal à 2, les lignes du fichier .txt sont écrites dans MySQL.
  5. Double-cliquez sur le tFileInputDelimited pour ouvrir sa vue Basic settings.
    Dans le champ File name/Stream, saisissez le chemin complet vers le fichier .txt. Vous pouvez également cliquer sur le bouton [...] afin de parcourir votre système jusqu'au fichier.
  6. Cliquez sur le bouton Edit schema afin d'ouvrir l'éditeur de schéma.
  7. Cliquez sur le bouton [+] pour ajouter deux lignes et nommez-les id et name, avec respectivement le type integer et string.
  8. Dans la boîte de dialogue qui s'affiche, cliquez sur le bouton Yes afin de propager le schéma au composant suivant.
  9. Double-cliquez sur le tMysqlOutput pour ouvrir sa vue Basic settings.
  10. Dans les champs Host et Port, saisissez les informations de connexion.
    Dans le champ Database, saisissez le nom de la base de données.
    Dans les champs Username et Password, saisissez les informations d'authentification.
    Dans le champ Table, saisissez le nom de la table, par exemple "staff".
  11. Dans la liste Action on table, sélectionnez Create table if not exists.
    Dans la liste Action on data, sélectionnez Insert.

Exécuter le Job

Procedure

  1. Appuyez sur Ctrl+S afin de sauvegarder votre Job.
  2. Appuyez sur F6 pour l'exécuter.
    Comme montré ci-dessus, le Job a été exécuté avec succès et le nombre de lignes du fichier .txt a été affiché.
  3. Ouvrez l'interface graphique de MySQL et ouvrez la table staff.
    Comme montré ci-dessus, la table a été créée et deux enregistrements ont été insérés.

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 – faites-le-nous savoir.