db2 SSIS包中的季度数据加载

v9tzhpje  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(154)

我刚开始使用SSIS工具,需要快速帮助以按季度加载数据
我的设想是这样的:
我提出了一个查询(源数据库:DB2),将提取2010年1月1日至2021年12月31日的数据(11年的数据),但数据量太大(约300 M),因此我希望拆分数据源查询以按季度加载数据。我尝试按年加载数据,但仍然,我正在获取SSIS服务器无法处理的更多数据量。我创建了一个年循环来循环它,在其中创建了一个脚本任务,后跟一个数据流任务。
例如,

select * from tab1 where start_date >= '2010-01-01' and end_Date <= '2010-12-31'

这我想循环它,(4次加载,1为每个季度)

select from tab1 where start_date >= '2010-01-01' and end_Date <= '2010-03-31'
select from tab1 where start_date >= '2010-04-01' and end_Date <= '2010-06-30'
select from tab1 where start_date >= '2010-07-01' and end_Date <= '2010-09-30'
select from tab1 where start_date >= '2010-10-01' and end_Date <= '2010-12-31'

Year-wise可以很好地工作,但是,我不知道如何将数据加载到Quarter-wise中,我想将每个季度的参数作为参数传递给源查询,所以我总共需要循环48次(2010年至2021年= 11年 * 4个季度)任何帮助都非常感谢。我可以发送我为年循环创建的截图,它工作得非常好。

p8ekf7hl

p8ekf7hl1#

我认为解决方案是使用OFFSET FETCH子句迭代数据。为什么在使用多个行的同时按季度循环数据会更精确(每次迭代将处理相同数量的数据)。下面的文章提供了一个分步指南:

值得一提的是,本文处理的是SQL Server源代码,而您使用的是DB2。因此,在使用OFFSET FETCH子句时,您应该考虑到任何语法差异:

类似问题:

  • 从Sqlite阅读大量数据到SQL Server在预执行时失败
  • 一次循环10条记录,并将其赋给变量
  • SSIS无法保存包并重新启动Visual Studio

相关问题