将基于平面文件的日期保存到变量中(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;
更多详情见下图
我有一个包含许多列的平面文件,其中一列是 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;
更多详情见下图