我正在安排一个 SSIS 包将数据导出到平面文件。
但我想生成带有一些日期信息的文件名,例如 foo_20140606.csv
可能吗?
谢谢
最佳答案
借助表达式,您可以使连接动态化。
从“连接管理器” Pane 中选择您的平面文件连接。在“属性” Pane 中,单击“表达式(...)”。然后从下拉列表中选择 ConnectionString Property,并在 Expression(...) 中输入表达式并对其求值。
表达式构建 -
For day : (DT_STR,4,1252)DAY( DATEADD( "dd", -1, getdate() ))
For month: (DT_STR,4,1252)MONTH( DATEADD( "dd", -1, getdate() ))
For Year: (DT_STR,4,1252)YEAR( DATEADD( "dd", -1, getdate() ))
示例表达式(您需要根据您的要求进行调整)-
"E:\\Backup\\EmployeeCount_"+(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) +".txt"
它给出 E:\Backup\EmployeeCount_20140627.txt
作为值。
请注意 - 您需要一个有效的平面文件连接,因此首先创建平面文件连接,其 connectionString 属性随后将被表达式自动替换。
您也可以按照这些分步文章进行操作。
ssis dynamically naming destination
SSIS Dynamic Flat File Connection
关于sql-server - Sql Server SSIS 包平面文件目标文件名模式(日期、时间或类似)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24452622/