A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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_DATAFROM      V_E2E_DETAIL_AllWHERE   (yearmonthday_ALL / 100 = ?)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

选择所有列:

行计数:

以上组件都配置好新建一个平面文件管理器:
配置如下:
常规配置:

平面文件管理器表达式配置:

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

映射:要相互对应

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


1 个回复

倒序浏览

很不错,受教了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马