我有一个 ssis 包,其中包含一个 foreach 容器来循环文件并将其加载到表中。现在我想将进程开始时间、结束时间和状态跟踪到另一个表中。我怎样才能实现这个目标..?
最佳答案
创建 2 个全局变量 - 一个用于开始时间,一个用于结束时间。 使用在 foreach 容器之前运行的脚本任务来设置开始时间变量,并使用在 foreach 容器之后运行的另一个脚本任务来设置结束时间变量。之后,使用派生列数据流转换将开始时间和结束时间放入管道中以便您可以保留它们非常简单。
在脚本任务中不要忘记引用变量,脚本应该如下所示:
public void Main()
{
DateTime currentDate = DateTime.Now;
Dts.Variables["StartDate"].Value = currentDate;
Dts.TaskResult = (int)ScriptResults.Success;
}
另一种方法也可以在这里找到:How can a step in an SSIS package check for the time?但这只能为您提供开始时间,而不是结束时间。
关于ssis - 如何获取进程ssis的开始时间和结束时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26500631/