上次笔记记到,用sql任务给参数赋值,映射到变量,然后把数据流任务放到序列容器中进行执行,可以定期生成excel,

现在的问题是:

在EXCEL目标编辑过程中,必须选定某一个特定的excel目标,这样的话,如果部署到sqlJob中,每次都会在同一个EXCEL中增加记录数,即每次运行都会在同一个EXCEL的相同sheet中写入查询出的记录,

而我们的要求是:

每月末运行加载一次SSIS包,每次在特定路径下生成新的excel,命名格式为:XXX-XXXXXX.xlsx的文件,即:'内容-年月日.xlsx’

经过了解我的解决方案是:

先决条件:执行一次数据流任务,在特定路径--D:\DBTableToExcel\bak路径--下建立带有查询之后复制列表名表头建立新的template: OriginalExcel.xlsx。它同时也是每次运行查询后写入的excel目

标,然后复制一份到D:\DBTableToExcel路径下,为了4>步将模板拷贝至EXCEL目标位置。

1>SQL任务:建立一个select语句选择作为新生成的EXCEL需要放置的路径

SELECT 'D:\DBTableToExcel\excel1-' + CONVERT(nchar(8), GETDATE(), 112) + '.xlsx' AS ExcelFileAddress

2>数据流任务:excel目标,每次都在此excel目标中写入数据,名为:OriginalExcel.xlsx

3>文件系统任务:重命名文件,其实就是将生成好的bak路径下的sourceConnection即  OriginalExcel.xlsx ->重命名为一份新的文件《自带复制功能》->ExcelFilePath,

注:如果想多次运行调试执行包,则重命名选项:OverwriteDestination的值要设置为:true

4>文件系统任务:复制文件,即拷贝模板OriginalExcel.xlsx(D:\DBTableToExcel路径下)至  excel目标 的路径位置,文件名不变,即OriginalExcel.xlsx。

5>循环

效果如图:

 

看一个多个序列容器的成品图:

BI之路学习笔记2--SSIS/ETL设计练习三:《DB->定期生成excel表》的更多相关文章

  1. BI之路学习笔记1--SSIS包的认识和设计

    进入了新的公司,开始接触新的方向,内心激动而又兴奋,对于BI以前知道的极少,从今天开始要好好学习了~ BI的概念,功能,强大之处在此先不做赘述,BI之路先要一步一个脚印扎实做起,现在正在看的也是之前好 ...

  2. BI之路学习笔记3--olap cube理解实例

    为什么会产生OLAP? 随着数据库技术的发展应用,数据库存储的数据量从M字节以及G(千兆)字节过渡到T字节和P字节,同时,用户的查询需求也越来越复杂,设计的已不仅是查询或者操纵一张关系表中的一条或几条 ...

  3. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要三

    最近工作较忙,手上有几个项目等着我独立开发设计,所以平时工作日的时候没有太多时间,下班累了就不想动,也就周末有点时间,今天我花了一个下午的时间来继续总结与整理书中要点,在整理的过程中,发现了书中的一些 ...

  4. Dynamic CRM 2013学习笔记(九)CrmFetchKit.js介绍:Fetchxml、多表联合查询, 批量更新

    CrmFetchKit.js是一个跨浏览器的一个类库,允许通过JavaScript来执行fetch xml的查询,还可以实现批量更新,分页查询等.目前已支持Chrome 25, Firefox 19 ...

  5. Python学习笔记——基础篇2【第三周】——计数器、有序字典、元组、单(双)向队列、深浅拷贝、函数、装饰器

    目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双 ...

  6. 【Stage3D学习笔记续】山寨Starling(三):Starling核心渲染流程

    这篇文章我们剔除Starling的Touch事件体系和动画体系,专门来看看Starling中的渲染流程实现,以及其搭建的显示列表结构. 由于Starling是模仿Flash的原生显示列表,所以我们可以 ...

  7. UNIX环境编程学习笔记(28)——多线程编程(三):线程的取消

    lienhua342014-11-24 1 取消线程 pthread 提供了pthread_cancel 函数用于请求取消同一进程中的其他线程. #include <pthread.h> ...

  8. XAF学习笔记之-多表头设计

    空闲之余,看了下全英文的DEV 的XAF帮助文档,一半的英文我认识他,一半的英文他认识我,反正拆开成26个字母我全认识 不那么啰嗦了,先看效果 如何做:分以下几步 第一步:打开这个文件,这个文件就是X ...

  9. JavaWeb学习笔记——开发动态WEB资源(三)显示当前时间

    该工程的功能是实现在页面中显示当前的时间 以下的代码是HelloServlet.java中的代码 package helloapp2; import java.io.IOException; impo ...

随机推荐

  1. ASP.NET MVC 下UpdateModel可空未填写的参数为Null,为何不是空字符串

    查了好久,终于收到原因: if (bindingContext.ModelMetadata.ConvertEmptyStringToNull && Object.Equals(valu ...

  2. 零元学Expression Blend 4 - Chapter 30 8个Expression Blend4的快捷

    原文:零元学Expression Blend 4 - Chapter 30 8个Expression Blend4的快捷 我针对工作区跟视窗的快捷键整理了八个Expression Blend4的快捷, ...

  3. 【转】在C#中简单的科学计算,包括幂数,指数,对数,Math类

    用Math类进行一些简单的科学计算,包括幂数,指数,对数等的计算: double m,n; m=Math.Exp(0.5); //自然对数e的0.5次方 n=Math.Exp(); //自然对数e的3 ...

  4. Oracle配置OneMap中的sql数据库问题及解决方案

    报错ORA-00900:无效SQL语句,点确定后报错:ORA--00942:表或视图不存在 分析:prompt在Oracle中是打印功能,如果要在PLsql中执行带有prompt的sql文件就会报上面 ...

  5. MIPS开发板的“不二”选择——Creator Ci20单板计算机评测(芯片是君正JZ4780 ,也就是MIPS R3000,系统推荐Debian或深度,官网就有,其它语言有FreePascal和Go和Java和Python)

    在MIPS架构的CPU上开发软件,当然需要使用MIPS专用的工具链来编译代码.不过一般的LINUX发行版内都有相应的配套工具链供用户使用.Ci20出厂时的LINUX发行版为DEBIAN 7.5,相应的 ...

  6. Survey Report on Data Skew in Big Data

    1 Introduction 信息时代产生了大量的数据,运用和使用数据已经成为一个公司乃至一个国家核心实力的重要组成部分.当代大数据一般指的是:数据量巨大,需要运用新处理模式才能具有更强的决策力.洞察 ...

  7. Linux中的进程

    进程,线程,程序 通俗的说,进程是程序的一次执行过程,程序是一种静态概念,如果在系统中引入线程,则进程是资源分配单元,线程是系统执行单元.此处不懂应参阅<操作系统> 进程衍生 fork-e ...

  8. HOLLOW_BRUSH等价于NULL_BRUSH,都代表透明化刷

    NULL_BRUSH 或HOLLOW_BRUSH和GetStockObject函数 备注:HOLLOW_BRUSH等价于NULL_BRUSH,都代表透明化刷 HGDIOBJ GetStockObjec ...

  9. mingw(gcc)默认使用的是dwarf格式

    无意中发现的: C:\Users\my>gcc -vUsing built-in specs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=C:/Qt/Qt5.6.2/T ...

  10. Qt4学习笔记 (7) 本篇说一下Qt对于脚本的支持, 即QtScript模块.

    本篇说一下Qt对于脚本的支持, 即QtScript模块. Qt支持的脚本基于ECMAScript脚本语言, 这个东西又是javascript, jscript的基础. 所以, 一般只要学过javasc ...