Sql server Sql Server SSIS包平面文件目标文件名模式(日期、时间或类似)?
我正在计划一个SSIS包,用于将数据导出到平面文件 但是我想用一些日期信息生成文件名,比如foo_20140606.csv 可能吗Sql server Sql Server SSIS包平面文件目标文件名模式(日期、时间或类似)?,sql-server,ssis,sql-server-2012,Sql Server,Ssis,Sql Server 2012,我正在计划一个SSIS包,用于将数据导出到平面文件 但是我想用一些日期信息生成文件名,比如foo_20140606.csv 可能吗 谢谢在连接管理器中选择您的文件连接,转到属性并单击表达式旁边的(…) 在编辑器中,从属性列中选择ConnectionString。 在表达式文本框中,可以输入类似“rootNameOfFile”+(DT_WSTR,50)(DT_DBDATE)GETDATE()+“.csv”的内容 评估你的表情,确保你得到了你想要的,瞧 借助表达式,您可以使连接动态化 从“连接管理器
谢谢在连接管理器中选择您的文件连接,转到属性并单击表达式旁边的(…) 在编辑器中,从属性列中选择ConnectionString。 在表达式文本框中,可以输入类似“rootNameOfFile”+(DT_WSTR,50)(DT_DBDATE)GETDATE()+“.csv”的内容
评估你的表情,确保你得到了你想要的,瞧 借助表达式,您可以使连接动态化 从“连接管理器”窗格中选择平面文件连接。在属性窗格中,单击表达式(…)。然后从下拉列表中选择ConnectionString属性,并在表达式(…)中放入表达式并对其求值 表达式构建-
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\u 20140627.txt
作为值
请注意-您需要一个工作的平面文件连接,因此首先创建平面文件连接,其connectionString属性将自动替换为expression
你也可以一步一步地阅读这些文章
如果您没有SSDT,因此无法使用GUI编辑SSDT,则可以直接编辑SSIS包: 之前:
<DTS:ConnectionManager
DTS:refId="Package.ConnectionManagers[DestinationConnectionFlatFile]"
DTS:ObjectName="DestinationConnectionFlatFile"
DTS:DTSID="{C69365C4-EF12-4606-980B-E8862EE997A4}"
DTS:CreationName="FLATFILE">
<DTS:ObjectData>
之后:
<DTS:ConnectionManager
DTS:refId="Package.ConnectionManagers[DestinationConnectionFlatFile]"
DTS:CreationName="FLATFILE"
DTS:DTSID="{C69365C4-EF12-4606-980B-E8862EE997A4}"
DTS:ObjectName="DestinationConnectionFlatFile">
<DTS:PropertyExpression
DTS:Name="ConnectionString">"C:\\Exportdir\\Filename_"
+ (DT_WSTR,4)DATEPART("yyyy",GetDate()) +
RIGHT("0" + (DT_WSTR,2)DATEPART("mm",GetDate()) ,2) +
RIGHT("0" + (DT_WSTR,2)DATEPART("dd",GetDate()),2) + "_" +
RIGHT("0" + (DT_WSTR,2)DATEPART("hh",GetDate()),2)+
RIGHT("0" + (DT_WSTR,2)DATEPART("mi",GetDate()),2) + ".csv"
</DTS:PropertyExpression>
<DTS:ObjectData>
“C:\\Exportdir\\Filename\ux”
+(DT_WSTR,4)DATEPART(“yyyy”,GetDate())+
右(“0”+(DT_WSTR,2)日期部分(“mm”,GetDate()),2)+
右(“0”+(DT_WSTR,2)日期部分(“dd”,GetDate()),2)+“2”+
右(“0”+(DT_WSTR,2)日期部分(“hh”,GetDate()),2)+
右键(“0”+(DT_WSTR,2)DATEPART(“mi”,GetDate()),2)+“.csv”
您可以轻松地为SSIS包中的平面文件或csv文件指定动态文件名,如DataFeed{yyyyMMdd}.txt,例如DataFeed_20181212.txt。只需转到平面文件连接管理器属性并定义表达式值,就可以通过另一种方式定义包级别变量以及可在表达式中使用的此变量,并根据环境使用配置文件.dtsconfig文件定义文件夹位置
更多细节@哦,我更喜欢你的,它有漂亮的图片!:)相关的:
<DTS:ConnectionManager
DTS:refId="Package.ConnectionManagers[DestinationConnectionFlatFile]"
DTS:CreationName="FLATFILE"
DTS:DTSID="{C69365C4-EF12-4606-980B-E8862EE997A4}"
DTS:ObjectName="DestinationConnectionFlatFile">
<DTS:PropertyExpression
DTS:Name="ConnectionString">"C:\\Exportdir\\Filename_"
+ (DT_WSTR,4)DATEPART("yyyy",GetDate()) +
RIGHT("0" + (DT_WSTR,2)DATEPART("mm",GetDate()) ,2) +
RIGHT("0" + (DT_WSTR,2)DATEPART("dd",GetDate()),2) + "_" +
RIGHT("0" + (DT_WSTR,2)DATEPART("hh",GetDate()),2)+
RIGHT("0" + (DT_WSTR,2)DATEPART("mi",GetDate()),2) + ".csv"
</DTS:PropertyExpression>
<DTS:ObjectData>