0

我需要使用 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'

4

2 回答 2

0

为什么使用脚本任务?为什么不使用这里描述的表达式:

将日期戳添加到 SSIS 包中的 .txt 文件?

于 2013-04-04T02:08:14.307 回答
0

我会将日期分配给 SSIS 中的变量,然后将该变量传递给构建文件名并将其放入输出变量的脚本任务。然后,您可以为该输出文件在 Connection Manager 的属性中的 Expressions 属性组下的 ConnectionString 属性中分配输出变量,以使用该变量的值作为您的文件名。

总结:

  1. 使用脚本任务并将文件名中使用的日期作为只读变量作为类型字符串传递给它,以使其更易于操作。
  2. 将读/写变量分配给脚本任务以存储您的文件名。
  3. 在脚本任务中创建文件名。
    变量命名: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;

  4. 将 Connection Manager 属性的 Expression 部分中的变量分配给 CONNECTIONSTRING 属性。

那应该这样做。如果您需要特定路径,则将在步骤 4 中将其连接到属性和变量上。

于 2013-04-03T14:56:09.607 回答