Import de données SSIS [Résolu]

Signaler
Messages postés
17
Date d'inscription
mercredi 19 juillet 2006
Statut
Membre
Dernière intervention
16 juillet 2009
-
aurel_kb
Messages postés
28
Date d'inscription
samedi 9 août 2008
Statut
Membre
Dernière intervention
9 juin 2014
-
Bonjour,

Je dois créer un package SSIS d'import de données depuis un fichier CSV qui a un nom variable. En clair, je dois exécuter ce package chaque jour sur un fichier généré quotidiennement et qui aura pour nom "nom_fichier_AAAAMMJJHHMNSS.csv" ou AAAAMMJJHHMNSS est la date de
génération du fichier (année, mois, jour, heure, minutes, secondes). Je précise bien qu'il s'agit d'un fichier source et non destination.
Quelqu'un peut-il me donner une solution pour avoir un nom de fichier dynamique en source de données? Comme je ne peux pas deviner le nom de fichier à l'avance( à cause de l'heure) j'ai dans l'idée d'aller chercher ce(s) fichier(s) (car il peut tout a fait y en avoir plusieurs) dans un répertoire spécifique, et scaner ce répertoire avec un copnteneur foreach, mais je ne sais pas l'utiliser pour que ma source de données fonctionne bien.
Merci d'avance pour vos réponses.

4 réponses

Messages postés
4
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
22 août 2010

De mémoire, on peut gérer des noms de fichiers avec les caractères '*' et '?'  dans l'objet qui ouvre les fichiers plats.

Ensuite si cela ne fonctionne pas, il faut voir d'où viennent ces fichiers, FTP ou autre.
Vous pouvez utiliser l'objet de connexion FTP pour rapatrier des fichiers avec des noms combinés avec les caractères génériques.
Puis les mettre dans un variable sous SSIS et utiliser la variable comme nom de fichier pour l'ouvrir ensuite.

Il faut aussi voir si, une fois le fichier intégré, il est déplacé et archivé. Cela permet d'avoir un seul fichier dans le répertoire tous les matins.
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
Bonjour,

avez vous deja commencé quelque chose ? comptez vous passer par une procédure stockée ?

de mon point de vue, si vous voulez passer par une procedure stockée, il va falloir activer certaines fonctionnalités pour que le serveur de BDD puisse acceder au contenu du disque, ce qui est désactivé par defaut pour des raisons de sécurité.

une solution serait peut être de faire un batch DOS afin de gérer cela, avec un job Windows.
Messages postés
17
Date d'inscription
mercredi 19 juillet 2006
Statut
Membre
Dernière intervention
16 juillet 2009

Merci pour cette réponse, j'ai fait un peu comme tu le suggère, c'est à dire que je parcoure un répertoire spécifique avec une boucle foreach, et j'intègre tous les fichiers csv présents dedans. S'ils n'ont pas la bonne structure il est en erreur et je passe au fichier suivant. Ensuite, bien sur, pour que ça fonctionne bien, je déplace mes fichiers dans un autre répertoire aprés traitement.
Messages postés
28
Date d'inscription
samedi 9 août 2008
Statut
Membre
Dernière intervention
9 juin 2014

Salut,
j'ai le mm problème et j'aimerais savoir comment tu l'as résolu car j'y arrive pas. Si possible une description détaillé.

Merci