• SSIS高级转换任务—导出列


    好久没有写SSIS了,接着上回的Import Column,这个随笔学习Export Column,这个转换任务用来从数据库中的blob类型的列转换成文件保存到文件系统中或者在Microsoft Word文件或者Microsoft Paint文件中浏览。执行这个task的关键是要有一列包含文件的数据和要导出文件的路径。Export Column会将数据列转换成物理文件,并按照完全限定的路径保存这些文件。

    在下面的例子中,将把数据库AdventureWorks中的一个文件列导出。如果你安装了数据库AdventureWorks,在这个数据库中有一个包含文件的表 [Production].[document],表中有一个包含word文件的列。现在将这一列文件数据导出。

    1. 创建一个文件夹C:\exports,导出的文件将放在这个文件夹中
    2. 新建一个包命名为ExportColumnExample,添加一个Data Flow task双击进入Control Flow界面
    3. 添加一个OLE DB Data Source,连接到AdventureWorks中的表[Production].[document]
    4. 预览这个表的数据,可以看到有一个列FileName包含很长一串文件路径和文件名,它们指定了文件的存放路径,我们可以把它修改成简单点的如C:\exports,如图6-12

      图6-12
    5. 添加一个Derived Column任务将OLE DB DataSource和它连接起来。
    6. 编辑Derived Column,添加一个派生列NewFilePath,编辑表达式为"c:\\exports\\" + Title + ".doc"(注意这里要使用\\,因为要进行转义)。
    7. 添加一个Export Column转换任务,将Derived Column和它连接起来。Derived Column将会把输入流分成两个类别:可能是文件的一类,可能是文件名字的一类。
    8. 在Extract Column中选择Document,应为在表[Production].[document]中这一列是文件列,File Path Column中选择NewFilePath,应为这一列是通过Derived Column产生的文件路径。
    9. 选中Force Truncate,如果相同文件已经存在则覆盖掉,最后如图6-13

      图6-13
    10. 执行报包,如图6-14,可以看到文件夹c:\exports\内已经有9个文件,如图6-15
      图6-14


      图6-15

    作者:Tyler Ning
    出处:http://www.cnblogs.com/tylerdonet/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,请微信联系冬天里的一把火

  • 相关阅读:
    BIEE建模参考规范
    informatica 学习日记整理
    Web Service 的工作原理
    Oracle 时间差计算
    oracle基础知识
    Oracle 外连接和 (+)号的用法
    根据appId匹配项目名称
    vue技术分享-你可能不知道的7个秘密
    echarts3 迁徙图 迁入迁出
    ES6学习笔记
  • 原文地址:https://www.cnblogs.com/tylerdonet/p/2051461.html
Copyright © 2020-2023  润新知