Bonjour
je travaille actuellement sur un package SSIS mais je rencontre un problème :
contexte : le traitement doit lire des fichiers plats et écrire des fichiers bdd
- je récupère le chemin d'accès et le nom des fichiers à traiter dans une table SQL (on va l'appeler ATRAITER)
- il y a 4 fichiers possibles mais ils peuvent ne pas exister.
- il y a une boucle for each (ADO enumerator)
- à chaque itération de boucle (donc pour chaque fichier), j'ai un data flow task qui lit le fichier et insère les enregistrements dans une table SQL
Problème :
- j'ai un fichier plat avec 5124 lignes (on va l'appeler SAP)
- si ce fichier plat est le seul présent dans le répertoire à traiter, seules 1281 lignes sont écrites dans le fichier BDD (prise en compte d'une ligne sur 4 !). (il s'agit du dernier fichier à traiter, l'absence des 3 fichiers précédents est consignée dans une table SQL de log)
- si tous les fichiers décrits dans ATRAITER sont présents (SAP est plein, les autres vides par exemple), les 5124 lignes sont bien écrites dans le fichier BDD
- Avez vous une idée de la solution à ce problème ?
Pensez vous que cela puisse venir de la boucle ForEach ?
Merci