IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSIS Discussion :

[SSIS][2k5]Renomer un fichier avec un nom contenant la date et heure du jour


Sujet :

SSIS

  1. #1
    Membre régulier
    Femme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations forums :
    Inscription : Décembre 2005
    Messages : 113
    Points : 87
    Points
    87
    Par défaut [SSIS][2k5]Renomer un fichier avec un nom contenant la date et heure du jour
    Bonjour,
    tout t'ai dit dans l'intitulé.
    j'utilise SSIS avec SQL server 2005. Je voudrai renommer un fichier avec un nom contenant la date du jour.
    J'ai essayé de créer une expression mais il refuse de le considérer comme koi c'est pas un string. j'essaie cast pour le convertir pas moyen.
    Merci de votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Salut,
    à quel niveau as tu créé ton expression ? Ça devrait être dans ta source de données pour fichiers.
    Quelque chose comme :
    devrait faire l'affaire

  3. #3
    Membre régulier
    Femme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations forums :
    Inscription : Décembre 2005
    Messages : 113
    Points : 87
    Points
    87
    Par défaut
    ça marche pas. A ce qu'il parait les types "nom fichier" et getdate() qui retourne une date ne peuve pas être concaténer

  4. #4
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Vraiment bizarre !!!
    As tu un lien qui dit ce que tu avances ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 269
    Points : 339
    Points
    339
    Par défaut
    Bonjour,

    getdate() renvoie un datetime.
    Tu ne peux donc le concaténer directement avec un string.

    Tu dois d'abord le convertir (en string justement).

    Si tu le fais depuis une expression : (dt_wstr, xxx)@[ta_variable] ou (dt_wstr, xxx) getdate()

  6. #6
    Membre régulier
    Femme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations forums :
    Inscription : Décembre 2005
    Messages : 113
    Points : 87
    Points
    87
    Par défaut
    (dt_wstr, xxx) getdate() ne produit pas d'erreur mais je n'arrive toujours pas à exécuter le package elle est toujours à fault.
    J'ai en faite créer un objet file system task faisant comme opération renommer. dans isdestinationpathvariable 'true" puis une expression avec (dt_wstr, xxx) getdate().
    j'ai l'erreur
    nonfatal errors occured while saving the package: Error at Package: The connection "2008-05-28 19:11:13.088000000 is not found. This error is thrown by connections collection when the specific connection ellement is not found.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    269
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 269
    Points : 339
    Points
    339
    Par défaut
    Ok, j'ai reproduit la même erreur que toi.

    En fait, si tu configures "isdestinationpathvariable" à true, le composant attend que tu spécifies dans la propriété "DestinationVariale" le nom d'une variable de ton package contenant le chemin et le nom de ton fichier renommé.

    Je pense que tu devrais plutôt t'y prendre de la manière suivante:

    1) tu crées un "connection manager" de type "file connection" (tu peux le faire via le composant "file system task" en créant une "destination connection"). Cette connexion doit pointer vers un fichier existant réellement et servira simplement durant la phase de développement du package. Tu utilises ensuite cette connexion dans la propriété "destination connection" de ton composant (pour cela, tu dois aussi passer la propriété "isdestinationpathvariable" à false).

    2) ensuite, tu rends dynamique le fichier pointé par le nouveau "connection manager" que tu viens de créer. Pour cela, tu configures la propriété "connectionstring" de ton "connection manager" avec une expression du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "c:\\mon_fichier_renomme_" + (dt_wstr, 20) getdate() + ".txt"

  8. #8
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Salut,
    Un petit projet SSIS spécialement pour toi.
    Pour peu que tu ai la base de données Adventure Works DW (mais tu peux la remplacer si tu ne la possède pas), tu verra que tout roulera comme sur des roulettes
    Ps :le seul problème que j'ai eu est que GETDATE() te génère une date avec des points (.) et c'est ce que Windows n'aime pas trop, j'ai utilisé MONTH(GETDATE()) pour l'exemple.
    Enjoy !
    Fichiers attachés Fichiers attachés

  9. #9
    Membre régulier
    Femme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations forums :
    Inscription : Décembre 2005
    Messages : 113
    Points : 87
    Points
    87
    Par défaut
    Vos aides ont été précieuses. En faites l'expression requi devrait être un truc comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\\nom_du_fichier"+ REPLACE(SUBSTRING((DT_WSTR, 30) GETDATE(),1,22),":","-")  +".txt"
    C'est le replace qui manquait à la dernière proposition de psychokwax. Car le nom du fichier ne peut pas contenir des ":".
    Merci Beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/05/2009, 09h31
  2. Réponses: 4
    Dernier message: 12/05/2009, 12h21
  3. [VBA-E]Copier un fichier avec nouveau nom
    Par sethipremier dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/05/2007, 13h26
  4. Réponses: 3
    Dernier message: 17/05/2007, 10h24
  5. Ouverture d'un fichier avec son nom
    Par bonjour69 dans le forum C
    Réponses: 23
    Dernier message: 15/10/2005, 19h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo