• 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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,请微信联系冬天里的一把火

  • 相关阅读:
    网页快捷键
    2016年5月3日15:55:23笔记
    【编程的乐趣-用python解算法谜题系列】谜题一 保持一致
    重温离散系列②之良序原理
    重温离散系列①之什么是证明
    浅谈栈和队列
    [leetcode]16-最接近的三数之和
    [leetcode] 4-寻找两个有序数组的中位数
    英语句子的基本结构【转】
    [leetcode] 11-盛最多水的容器
  • 原文地址:https://www.cnblogs.com/tylerdonet/p/2051461.html
Copyright © 2020-2023  润新知