Import de données SSIS

Résolu
vbmaniac8 Messages postés 17 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 16 juillet 2009 - 28 avril 2009 à 15:57
aurel_kb Messages postés 28 Date d'inscription samedi 9 août 2008 Statut Membre Dernière intervention 9 juin 2014 - 8 août 2013 à 10:57
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

Tenerezu Messages postés 4 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 22 août 2010
27 mai 2009 à 15:59
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.
3
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
30 avril 2009 à 10:55
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.
0
vbmaniac8 Messages postés 17 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 16 juillet 2009
5 juin 2009 à 11:04
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.
0
aurel_kb Messages postés 28 Date d'inscription samedi 9 août 2008 Statut Membre Dernière intervention 9 juin 2014
8 août 2013 à 10:57
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
0
Rejoignez-nous