我创建了一个SSIS包,我将多个平面文件加载到我的数据库表中。
正如你所看到的,我已经使用了For Each Loop来循环遍历多个文件,而在ForEach循环中我已经使用了数据流任务,它将负责将文件加载到表格以及稍后我正在存储加载和日志文件中的文件名称失败,仅重命名那些已加载的文件。
一切都运行良好,但正如您所看到的,我使用了2个脚本任务来执行一个小操作,可以使用单个脚本任务通过将优先约束设置为“完成”而不是数据上的“成功”来完成流程任务。但我的问题是,如何在脚本任务中获取数据流任务结果,即如何检查数据流任务是否在脚本任务中失败或成功。
这是我的脚本代码,我根据数据流任务的任务结果记录文件名和重命名。
public void Main()
{
bool DataFlowTaskResult = false;//setting true or False based on Result from Data Flow Task
if (DataFlowTaskResult)
{
Dts.Events.FireError(0, null, Dts.Variables["User::FileName"].Value.ToString() + " " + "Inserted Succefully", string.Empty, 0);
}
else
{
Dts.Events.FireError(0, null, Dts.Variables["User::FileName"].Value.ToString() + " " + "Inserted Succefully", string.Empty, 0);
}
Dts.TaskResult = (DataFlowTaskResult) ? (int)ScriptResults.Success : (int)ScriptResults.Failure;
}