2010-04-07 5 views
0

Je fichier plat qui structuré dans un format hiérarchique qui ressemble à ceci:Lecture du fichier plat hiérarchique dans SSIS

Zone | AreaCode | AreaDescription

Région | RegionCode | RegionDescriptoin

Zone | ZoneCode | ZoneDescription

District | DistrictCode | DistrictDescription

Route | RouteCode | RouateDescript ion

Fiche | Nom | Adresse | Ect

RouteFooter

Route | RouteCode | RouateDescription

Fiche | Nom | Adresse | Ect

RouteFooter

DistrictFooter

District | DistrictCode | DistrictDescription

Route | RouteCode | RouateDescription

Fiche | Nom | Adresse | Ect

Fiche | Nom | Adresse | Ect

RouteFooter

Route | RouteCode | RouateDescription

Enregistrement | Nom | Adresse | Ect

RouteFooter

DistrictFooter

ZoneFooter

RegionFooter

AreaFooter

Je dois mettre cela en SSIS et consommer de l'information au sujet de la ligne Enregistrez et aussi sur l'en-tête de la ligne d'enregistrement en cours . Ainsi que des informations provenant de plusieurs autres sources et la sortie d'un fichier plat plus simple en conséquence.

Je voudrais lire le fichier plat ci-dessus dans une structure dans laquelle chaque ligne contient un enregistrement avec les informations d'en-tête appropriées incluses.

Ma question est, quelle est la meilleure façon de le faire si c'est encore possible?

Répondre

0

D'abord, comment dites-vous quel type de ligne vous êtes si vous êtes sur la ligne 3 987 986? Comment dites-vous ce qui est lié à quoi? Y at-il une possibilité que vous pourriez obtenir dans un meilleur format? Avant de passer beaucoup de temps (et ne vous fiez pas à vous-même, cela prendra beaucoup de temps pour configurer et tester correctement). Je renvoie le fichier au fournisseur et le demande dans un format différent. Vous ne l'aurez pas toujours, mais vous devriez au moins essayer.

Lorsque je l'ai fait par le passé en DTS, les premiers caractères de chaque ligne m'ont indiqué la structure à laquelle la ligne faisait référence. J'ai tout importé dans une table de transfert avec deux colonnes, une pour les données d'enregistrement et une pour le reste. Puis j'ai analysé le reste dans les tables de transfert pour le type d'enregistrement avec la structure de colonne correcte pour ce type d'enregistrement (et tous les fichiers dont vous pourriez avoir besoin pour faire les relations) puis nettoyé puis importé dans les tables prod. Comme vous avez aussi un nombre différent de colonnes, j'essaierais cette approche (vous seul devrez peut-être remplir manuellement certaines colonnes au lieu de figurer directement dans le fichier), et donner à chaque enregistrement une identité déposée dans les tables de transfert. cela vous aidera à comprendre les realtionships je pense.

Questions connexes