【问题标题】:Saving Date based in flat file into variable (SSIS)将基于平面文件的日期保存到变量中(SSIS)
【发布时间】:2016-02-09 10:02:22
【问题描述】:

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

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

【问题讨论】:

  • @TabAlleman 你觉得这两个问题的共同点是什么?
  • 该问题的所有答案都可以用来解决您的问题。我个人会使用第三个(执行 SQL 任务)。

标签: ssis ssis-2008


【解决方案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

中添加一些代码
  • 点击 Script Task 并在我的例子中选择你的变量,我的变量的名称是 DATEVAR 如下图所示

  • 然后点击ma​​in方法中的Edit Script添加如下代码

String path =@"你的文件目标";

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;

更多详情见下图

【讨论】:

  • 感谢您的详细解释。抱歉,如果我的问题看起来很简单,但我只是在学习这个 SSIS。我赞成你的一些帖子,至少我能为你做的))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 2021-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多