SSIS 根据查询库中的年月按月循环输出CSV文件并动态以该月份命名

版权声明:本文为博主原创文章,转载时请注明出处。 https://blog.csdn.net/nxw_tsp/article/details/81216045

SSIS 根据查询库中的年月按月循环输出CSV文件并以该月份命名。
先看一下整体结构。
控制流:
这里写图片描述

数据流:
这里写图片描述

首先我们先做一个执行sql任务,配置如下:
这里写图片描述

结果集配置:
注意结果集中的变量是Object类型的,因为返回的是结果集类型。要是单个数据则该变量为String类型。
这里写图片描述

配置好执行sql任务组件后,再拖拉一个ForEach循环容器到控制流区,并与执行sql任务组件相连,继续配置ForEach循环容器。
这里写图片描述

这里写图片描述

ForEach循环容器配置好后,我们拖拉一个数据流任务到ForEach循环容器里面。

然后我们来到数据流面板,拖拉一个OLE DB 源,配置一下你的数据库连接。
这里写图片描述

sql示例:

SELECT   yearmonthday_AC2, yearmonthday_ALL, DC_SO_header, dc_so_item, CLO, vtweg, SOBKZ, order_type, Material_code, 
                shipping_plant, shipping_plant_dc, Production_plant, vendor_code, PRODUCT_LINE, CLUSTER, SALES_ORG, MPG, 
                MRP_Controller, Stock_Policy, SubmitDate, Insert_Date, Dc_so_create_date, Dc_so_credit_release_date, PR_date, 
                PO_date, Plant_so_create_date, MO_Create_Date, MO_release_Date, Mo_act_start_date, Mo_act_finish_date, 
                Mo_gr_date, Mo_dn_creation_date, Mo_dn_gi_date, Dc_po_gr_date, Customer_crd_date, Dc_dn_creation_date, 
                Dc_dn_credit_release_date, Dc_SO_GI_date, Customer_GR_date, Customer_request_gi_date, FROM_plant_city, 
                To_dc_city, Customer_code, Customer_Name, Ship_Customer_City, CREADIT_BLOCK, AC2_date, DELIVERY_BLOCK, 
                dc_dn_header, bu, production_line, Sub_Stock_Policy, sales_value, sales_quantity, dc_delivery_quantity, 
                Dc_SO_GI_date_min, node_target, node_target_three, FLAG, IS_DONE, Dc_so_create_date_temp, 
                Dc_so_credit_release_date_temp, Customer_crd_date_temp, Dc_dn_creation_date_temp, 
                Dc_dn_credit_release_date_temp, Dc_SO_GI_date_temp, IS_AC2_DATA, holiday, IS_OTDS_DATA
FROM      V_E2E_DETAIL_All
WHERE   (yearmonthday_ALL / 100 = ?)

这里写图片描述

选择所有列:
这里写图片描述
行计数:
这里写图片描述

以上组件都配置好新建一个平面文件管理器:
配置如下:
常规配置:
这里写图片描述

平面文件管理器表达式配置:
这里写图片描述

这里写图片描述

配置好平面文件管理器之后我们拖拉一个平面文件目标到数据流面板中,并与行计数组件连接。
配置平面文件目标:
这里写图片描述

映射:要相互对应

这里写图片描述

OK,至此 SSIS 根据查询库中的年月按月循环输出CSV文件并动态以该月份命名的job已经配置完成,点击执行变可成功运行啦。

猜你喜欢

转载自blog.csdn.net/nxw_tsp/article/details/81216045