SSIS 根據查詢庫中的年月按月迴圈輸出CSV檔案並動態以該月份命名
阿新 • • 發佈:2018-12-19
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已經配置完成,點選執行變可成功執行啦。