FLF à base de données
Cet exemple illustre une opération de mappage de données entre un fichier de texte de longueur fixe (FLF) et une base de données SQLite. Les fichiers utilisés dans l'exemple sont disponibles dans le dossier Tutorial. Le fichier de texte de source et la base de données cible stockent une liste d'employés. Dans le fichier de source, les enregistrements sont délimités implicitement par leur taille, comme suit :
Position et nom du champ | Taille (en caractères) |
---|---|
Champ 1 (Prénom) | 8 |
Champ 2 (Nom de famille) | 10 |
Champ 3 (Numéro de poste) | 3 |
Champ 4 (E-mail) | 25 |
Champ 5 (Position) | 25 |
Le but du mappage est de mapper les données FLF au composant de base de données. Nous voulons également mapper les extensions de téléphone avec un nouveau préfixe. Pour ce faire, suivre les étapes suivantes :
Étape 1: Insérer et configurer le composant de texte
1.Choisir l'option de menu Insérer | Fichier texte, ou cliquer sur l'icône Insérer fichier texte ((Insérer fichier texte) .
2.Cliquez sur fichier d'entrée dans la boîte de dialogue Paramètres de composant (voir ci-dessous) et sélectionnez Altova-FLF.txt.
3.Choisir Fixe.
4.Décocher la case Assumer la présence des délimiteurs d'enregistrement.
5.Les trois lignes marquées en jaune sont éditables, et vous permettent de spécifier i) le nom du champ ii) le type de données et iii) la taille du champ. Saisir 8 en guise de la nouvelle taille du champ et appuyer sur Entrée. Vous verrez apparaître plus de données dans la première colonne qui est maintenant définie avec une largeur de 8 caractères.
6.Cliquer sur Ajouter champ pour ajouter un nouveau champ, et définir la longueur du deuxième champ à 10 caractères.
7.Utiliser la même méthode pour créer trois autres champs avec les longueurs suivantes : 3, 25, et 25 caractères. Puis changer les en-tête de champ,tel qu'affiché ci-dessous.
8.Dans le groupe Paramètres de champ à longueur fixe, choisissez Personnaliser et saisissez le caractère dièse (#). Cela indique à MapForce de traiter le caractère # en tant que caractère de remplissage.
10.MapForce vous demandera si vous souhaitez changer le nom du composant afin qu'il corresponde aux fichiers d'instance. Cliquer sur Changer le nom du composant. Le composant Altova-FLF apparaît dans la fenêtre de mappage.
Étape 2: Insérer le composant de base de données
1.Choisir la commande de menu Insérer | Base de données, choisir SQLite, puis cliquer sur Suivant.
2.Choisir la base de données Altova.sqlite et cliquer sur Se connecter.
3.Choisir la table Person (voir ci-dessous) et cliquer sur OK.
Étape 3: Concevoir le mappage
Dans la prochaine étape, nous allons créer un mappage :
1.Glisser la fonction core | concat depuis la fenêtre Bibliothèques dans le mappage.
2.Choisir la commande de menu Insérer | Constante, choisir Nombre en tant que type et saisir une valeur de 100 dans le champ de texte. Cette constante stocke le nouveau préfixe de poste téléphonique.
3.Créer le mappage comme indiqué ci-dessous.
4.Dans le composant de base de données, cliquer sur la touche Action de table. Ceci ouvre la boîte de dialogue Actions de table de la base de données (voir la capture d'écran ci-dessous).
5.À côté de Action sur données d'entrée, choisir Mettre à jour si. Définissez les champs First et Last sur l'action equal. Cliquez sur OK. MapForce sera invité à mettre à jour la table Person uniquement si les prénom et nom de famille dans le fichier source sont égaux champs de base de données correspondants. Si cette condition est vraie, numéro de poste est préfixé avec 100, et sera copié dans le champ PhoneExt de la table Person.
6.Pour générer l'instruction SQL (pour un aperçu dans MapForce), cliquer sur l'onglet Sortie. Pour exécuter les instructions SQL par rapport à la base de données, cliquer sur la touche Exécuter script SQL .