Import de données SSIS [Résolu]

vbmaniac8 17 Messages postés mercredi 19 juillet 2006Date d'inscription 16 juillet 2009 Dernière intervention - 28 avril 2009 à 15:57 - Dernière réponse : aurel_kb 28 Messages postés samedi 9 août 2008Date d'inscription 9 juin 2014 Dernière intervention
- 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.
Afficher la suite 

4 réponses

Répondre au sujet
Tenerezu 4 Messages postés jeudi 16 septembre 2004Date d'inscription 22 août 2010 Dernière intervention - 27 mai 2009 à 15:59
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Tenerezu
aieeeuuuuu 698 Messages postés jeudi 16 janvier 2003Date d'inscription 20 mai 2011 Dernière intervention - 30 avril 2009 à 10:55
0
Utile
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.
Commenter la réponse de aieeeuuuuu
vbmaniac8 17 Messages postés mercredi 19 juillet 2006Date d'inscription 16 juillet 2009 Dernière intervention - 5 juin 2009 à 11:04
0
Utile
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.
Commenter la réponse de vbmaniac8
aurel_kb 28 Messages postés samedi 9 août 2008Date d'inscription 9 juin 2014 Dernière intervention - 8 août 2013 à 10:57
0
Utile
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
Commenter la réponse de aurel_kb

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.