1. 程式人生 > >SSIS 根據查詢庫中的年月按月迴圈輸出CSV檔案並動態以該月份命名

SSIS 根據查詢庫中的年月按月迴圈輸出CSV檔案並動態以該月份命名

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已經配置完成,點選執行變可成功執行啦。