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

Créer un Job pour insérer des données BLOB dans une table MySQL

Créez un Job pour itérer sur des images dans le dossier "C:/Talend/images" et insérer chacune d'entre elles dans la table blobdemo.

Capture d'écran du Job dans l'espace de modélisation graphique.
  • Le composant tFileList itère sur toutes les images du dossier "C:/Talend/images".
  • Le tFixedFlowInput obtient le chemin d'accès au fichier et l'écrit en sortie.
  • Le tMap appelle la routine pour lire les fichiers en tant que tableau d'octets.
  • Le tMysqlOutput insère les données BLOB dans la table cible.

Configurer le Job

Procedure

  1. Créez un Job standard et saisissez son nom, dans cet exemple Insertblobdatatodatabase.
  2. Glissez-déposez les composants suivants dans l'espace de modélisation graphique : un tFileList, untFixedFlowInput, un tMap et un tMysqlOutput.
  3. Reliez le tFileList au tFixedFlowInput à l'aide d'un lien Iterate.
  4. Reliez le tFixedFlowInput au tMap et le tMap au tMysqlOutput à l'aide de liens Row > Main.

Configurer les données d'entrée

Procedure

  1. Dans la vue Basic settings du tFileList, dans le champ Directory, cliquez sur le bouton [...] pour parcourir votre système jusqu'au répertoire, dans cet exemple "C:/Talend/images".
    Capture d'écran des paramètres simples du composant.
  2. Dans la liste FileList Type, sélectionnez Files.
  3. Cliquez sur le bouton [+] pour ajouter une ligne dans la zone Files et définissez un filtre pour rapprocher les fichiers. Dans cet exemple, saisissez "*.png" pour récupérer toutes les images.
  4. Dans la vue Basic settings du tFixedFlowInput, cliquez sur le bouton Edit Schema et ajoutez une colonne filepath de type String.
    Capture d'écran du schéma du composant.

    La colonne définie s'affiche dans le panneau Values.

  5. Cliquez dans la cellule Value de la colonne filepath et appuyez sur Ctrl+Espace pour accéder à la liste des variables globales.
  6. Dans la liste des variables globales, sélectionnez tFileList_1_CURRENT_FILEPATH.
    Capture d'écran des paramètres simples du composant.

Configurer le composant tMap pour appeler la routine personnalisée

Before you begin

  • Vous avez créé une routine personnalisée.

Procedure

  1. Double-cliquez sur le tMap pour ouvrir son éditeur de mapping.
  2. Cliquez sur le bouton [+] pour ajouter une table de sortie nommée out1.
  3. Dans le coin inférieur droit (out1) de la vue Schema editor, cliquez sur le bouton [+] pour ajouter une ligne picture, de type byte.
    Capture d'écran de la vue Schema editor (Éditeur de schéma).
  4. Dans le champ Expression de la colonne picture côté sortie, saisissez MyRoutineDemo.ByteArrayFromFile(row1.filepath).
  5. Cliquez sur OK pour valider ces modifications et accepter la propagation proposée dans la boîte de dialogue qui apparaît.

Insérer les données BLOB dans la table cible

Before you begin

  • Vous avez créé une table MySQL.

Procedure

  1. Dans l'éditeur graphique, double-cliquez sur le composant tMysqlOutput pour afficher l'onglet Basic settings et paramétrer ses propriétés.
  2. Dans la liste Property Type, sélectionnez Repository puis cliquez sur le bouton [...] pour sélectionner la connexion à la base de données.
    Capture d'écran des paramètres simples du composant.

    Les informations de connexion s’affichent automatiquement dans les champs correspondants.

  3. Cliquez sur le bouton [...] près du champ Table et sélectionnez la table cible, blobdemo dans cet exemple.

Exécuter le Job pour insérer des données BLOB dans une table MySQL

Procedure

  1. Appuyez sur les touches Ctrl+S afin de sauvegarder votre Job.
  2. Appuyez sur F6 pour exécuter le Job.
  3. Effectuez une requête sur la table blobdemo pour vérifier que les images ont bien été insérées.

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.