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

Saving Date based in flat file into variable (SSIS)

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

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

假设您的文件格式如下

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

最好考虑在variable:use脚本任务

中保存一些文本
  • 首先在你的包中创建一个新变量,在我的例子中我创建了一个并调用了 DATEVAR 变量的数据类型是字符串

-其次添加一个名为脚本任务的新组件见下图

-第三,我们将在 Script Task

中添加一些代码
  • 单击 Script Task 和 select 你的变量在我的例子中我的变量的名称是 DATEVAR 看到图片如下

  • 然后点击 main 方法中的编辑脚本 添加下面的代码

String path =@"Destination of your file ";

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;

更多详情见下图