将基于平面文件的日期保存到变量(SSIS)

时间:2016-02-09 10:02:22

标签: ssis ssis-2008

我有一个包含许多列的平面文件,其中一列是Date。格式如下' 25.01.2016'。我有很多行,每行的日期都相同(' 25.01.2016')。平面文件每天都会被重写,因此日期每天都在变化。

我创建了一个dataflow来将数据从txt移至database table。现在,我想添加Send Mail Task,在主题中我想使用该日期(例如,Sales for 25.01.2016)。出于这个原因,我需要将该日期保存在变量中。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

假设您的文件格式为以下

id    | product     |  dateLoad
1     |  dell       | 25-01-2016 16:23:14 
2     |  hp         | 25-01-2016 16:23:15 
3     |  lenovo     | 25-01-2016 16:23:16

最好考虑在变量中保存一些文本:使用脚本任务

  • 首先在我的情况下在你的包中创建一个新变量我创建了一个,我称之为 DATEVAR 变量的数据类型是String

- 其次添加一个名为脚本任务的新组件,如下图所示

Script Task

- 我们将在脚本任务

中添加一些代码
  • 点击脚本任务,然后根据我的情况选择您的变量,我的变量名称为 DATEVAR ,如下图所示

enter image description here

  • 然后单击主方法旁边的编辑脚本
  • 添加代码
  

字符串路径= @"文件的目的地&#34 ;;

using (StreamReader sr = new StreamReader(path))
{
  String line;
  String[] sp;
  for (int i = 1; i <=2; i++)
  {
      line = sr.ReadLine();
      sp=line.Split('|'); 
      Dts.Variables["User::DATEVAR"].Value = sp[2]; 
  }
}
Dts.TaskResult = (int)ScriptResults.Success;

更多细节见图片

enter image description here