salut j'ai pris le nom de source flatfile dynamiquement I.e. nom de fichier comme "source 2011-08-11" Je crée un générateur d'expression pour prendre le fichier le plus récent selon le nom de fichier. J'ai aimé Créé une variable qui a un chemin de dossier: C\backup \
maintenant à l'intérieur du générateur d'expressions comment puis-je ajouter une date ??? j'ai essayé comme
@[User::DirPath]+"source"+ (DT_STR,4,1252)YEAR( DATEADD( "dd", -1, getdate() ))
+"-"+(DT_STR,4,1252)MONTH( DATEADD( "dd",-1, getdate() ))+"-"+(DT_STR,4,1252)
DAY(DATEADD( "dd", -1, getdate() )) +".CSV"
ce qui est faux veuillez me donner l'expression qui me donne la sortie: "source 2011-08-11"
L'expression correcte est
"source " + (DT_STR,4,1252)DATEPART( "yyyy" , getdate() ) + "-" +
RIGHT("0" + (DT_STR,4,1252)DATEPART( "mm" , getdate() ), 2) + "-" +
RIGHT("0" + (DT_STR,4,1252)DATEPART( "dd" , getdate() ), 2) +".CSV"
Il semble que vous ayez créé une question distincte. Je répondais à votre autre question Comment changer la source de fichier plat en utilisant le conteneur de boucle foreach dans un package SSIS? avec la même réponse. Quoi qu'il en soit, le voici à nouveau.
Créez deux variables de type de données chaîne, à savoir DirPath
et FilePath
. Définissez la valeur C:\backup\sur la variable DirPath
. Ne définissez aucune valeur sur la variable FilePath
.
Sélectionnez la variable FilePath
et sélectionnez F4 pour afficher les propriétés. Définissez la propriété EvaluateAsExpression
sur True et définissez l'expression propriété en tant que @[User::DirPath] + "Source" + (DT_STR, 4, 1252) DATEPART("yy" , GETDATE()) + "-" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("mm" , GETDATE()), 2) + "-" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("dd" , GETDATE()), 2)