我希望从Oracle数据库中导入近1200万条记录,但由于SSIS内存缓冲区问题,我需要为每一年(即2005年至2012年)迭代我的数据流任务(共7次)。如何使用foreach来按年获取我的Oracle查询数据。
查询语句:
SELECT * FROM EMP_RECORDS_DETAILS WHERE to_char(JOIN_DT,'YYYY')=2005
我希望从Oracle数据库中导入近1200万条记录,但由于SSIS内存缓冲区问题,我需要为每一年(即2005年至2012年)迭代我的数据流任务(共7次)。如何使用foreach来按年获取我的Oracle查询数据。
查询语句:
SELECT * FROM EMP_RECORDS_DETAILS WHERE to_char(JOIN_DT,'YYYY')=2005
First Create a variable to store the date for each year .
Name: TimeValue DataType=Int32
Use a ForEach Loop and select Foreach Item enumerator in the collection tab
点击“列”选项卡,创建一个数据类型为int的新列。
在变量映射中映射上面创建的变量。
如果日期值未知,则可以在foreach循环之前使用execute sql任务,仅从表中选择dateTime列值并将其存储在变量中,在集合选项卡中使用来自变量枚举器的Foreach,并选择在上述execute sql任务中创建的变量。
希望这能对你有所帮助。