我需要使用 SSIS 生成每月最后一天的文件。我正在使用 SQL 获取它。
DECLARE @mydate DATETIME
SELECT @mydate = '03/21/2013'
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@mydate)),@mydate),112)
--20130228
我不知道如何将它放在连接管理器中的 SSIS 表达式中。
文件名会像'ABC_20130228.txt'
我需要使用 SSIS 生成每月最后一天的文件。我正在使用 SQL 获取它。
DECLARE @mydate DATETIME
SELECT @mydate = '03/21/2013'
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@mydate)),@mydate),112)
--20130228
我不知道如何将它放在连接管理器中的 SSIS 表达式中。
文件名会像'ABC_20130228.txt'
为什么使用脚本任务?为什么不使用这里描述的表达式:
我会将日期分配给 SSIS 中的变量,然后将该变量传递给构建文件名并将其放入输出变量的脚本任务。然后,您可以为该输出文件在 Connection Manager 的属性中的 Expressions 属性组下的 ConnectionString 属性中分配输出变量,以使用该变量的值作为您的文件名。
总结:
在脚本任务中创建文件名。
变量命名:User::DataFile, User::MaxDate 即 String DataFileName;字符串日期使用;
DateToUse= (String) Dts.Variables["MaxDate"].value; DataFileName="ABC_"+Convert.ToString((Convert.ToDateTime(DateToUse)).Year)+Convert.ToString((Convert.ToDateTime(DateToUse)).Month)+Convert.ToString((Convert.ToDateTime(DateToUse)) .Day)+".txt"; Dts.Variables["DataFile"].value=DataFileName;
将 Connection Manager 属性的 Expression 部分中的变量分配给 CONNECTIONSTRING 属性。
那应该这样做。如果您需要特定路径,则将在步骤 4 中将其连接到属性和变量上。