在下面的例子中,将把数据库AdventureWorks中的一个文件列导出。如果你安装了数据库AdventureWorks,在这个数据库中有一个包含文件的表 [Production].[document],表中有一个包含word文件的列。现在将这一列文件数据导出。
- 创建一个文件夹C:\exports,导出的文件将放在这个文件夹中
- 新建一个包命名为ExportColumnExample,添加一个Data Flow task双击进入Control Flow界面
- 添加一个OLE DB Data Source,连接到AdventureWorks中的表[Production].[document]
- 预览这个表的数据,可以看到有一个列FileName包含很长一串文件路径和文件名,它们指定了文件的存放路径,我们可以把它修改成简单点的如C:\exports,如图6-12 图6-12
- 添加一个Derived Column任务将OLE DB DataSource和它连接起来。
- 编辑Derived Column,添加一个派生列NewFilePath,使用主键作为文件名,编辑表达式为"c:\\exports\\" + (DT_WSTR,50)DocumentID + ".doc"(注意这里要使用\\,因为要进行转义)。
- 添加一个Export Column转换任务,将Derived Column和它连接起来。Derived Column将会把输入流分成两个类别:可能是文件的一类,可能是文件名字的一类。
- 在Extract Column中选择Document,应为在表[Production].[document]中这一列是文件列,File Path Column中选择NewFilePath,应为这一列是通过Derived Column产生的文件路径。
- 选中Force Truncate,如果相同文件已经存在则覆盖掉,最后如图6-13 图6-13
- 执行报包,如图6-14,可以看到文件夹c:\exports\内已经有9个文件,如图6-15 图6-14 图6-15
最新评论