我目前正在使用SSIS将数据输入SQL Server数据库。计划是每周都要这样做,但它发生的那一天可能会有所不同,具体取决于数据的推送时间。
我使用SSIS从Excel工作表中获取数据,并将每行输入数据库(每周约150行)。唯一的共同点是所有行之间的日期。我想在推送的那一天为每一行添加一个日期。由于推送日期可能不同,我无法使用当前日期,我想使用从该行输入的上一个日期开始的一周。
但是因为大约有150行我不知道如何实现这一目标。如果我可以在SQL Server中设置它,那么每次输入一组新行时,它会比上一组行增加7天。但我也很乐意在SSIS中这样做。
有没有人知道如何实现这一目标?或者,我也不介意在C#中这样做。
答案 0 :(得分:1)
这是一种做你想做的事情的方法:
在数据流任务之前添加执行SQL任务。此任务将检索最新的数据输入日期+ 7天。查询应该类似于:
select dateadd(day,7,max(trackdate)) from targettable
将SQL结果分配给包变量。
在数据流任务中的源组件和目标组件之间添加派生列转换。创建一个虚拟列以保存跟踪日期并将变量分配给它。