SSIS 中的导出列转换对于将图像、二进制文件、媒体或大型文档从 SQL Server 导出到文件系统非常有用。SSIS 导出列转换读取源列中的路径或位置,并将数据传输到该路径。
例如,如果我们有一个产品描述存储在文本文件中,并且该文本文件存储在一个列中。我们需要将产品描述仅发送到某个特定商店。然后,我们可以使用 SSIS 导出列转换将这些文本文件传输并保存到指定路径。
SSIS 中的导出列转换与导入列转换正好相反。请参考SSIS 中的导入列转换文章,了解如何将图像、文本文件或任何大型文件导入数据库。
SSIS 中的导出列转换示例
在此SSIS示例中,我们将把图像从SQL Server表导出到本地硬盘。下面是我们将在本例中使用的表。
SELECT [PhotoID]
,[PhotoSource]
,[Photo]
FROM [PHOTOSOURCE]

SSIS 中的导出列转换会将 Photo 列中的图像存储在 [PhotoSource] 列中指定的某个位置或路径。
步骤 1:从工具箱将数据流任务拖放到控制流中,并将数据流任务命名为导出列转换。

双击数据流任务以打开数据流选项卡。有关更多转换,请单击此处。
步骤 2:从工具箱将 OLE DB 源、导出列转换拖放到数据流区域。
双击数据流区域中的 OLE DB 源将打开连接管理器设置。在此,我们选择数据库和 PHOTOSOURCE 表作为 OLE DB 源。

步骤 3:单击列选项卡以验证列。在此选项卡中,我们还可以取消勾选不需要的列。
在这里,我们取消勾选 PhotoID 键列。因为此时将标识列作为输出保存没有意义。

单击“确定”,然后将蓝色箭头从 OLE DB 源拖放到导出列转换,对源数据执行转换。
步骤 4:双击 SSIS 导出列转换进行编辑和配置。它将打开如下所示的窗口。

在这里,我们可以选择放置路径的列。您还可以在 SSIS 导出列转换的右侧找到复选框。
- 提取列:从可用输入列列表中选择文本或图像数据列。在此示例中,我们选择了 Photo,因为我们将图像从 SQL 导出到本地硬盘。
- 文件路径列:从可用输入列列表中选择文件路径或文件名。这是文件或图像将被保存的路径(此处为图像)。
- 允许追加:指定是否希望导出列转换将数据追加到现有文件。默认值为 false,如果需要,您可以更改它。
- 强制截断:指定是否希望导出列转换在写入新数据之前删除任何现有文件。默认值为 false,如果需要,可以通过勾选该选项来更改。
- 写入 BOM:指定是否希望导出列转换将字节顺序标记 (BOM) 写入文件。BOM 仅在数据具有 DT_NTEXT 或 DT_WSTR 数据类型时打印。
在运行 SSIS 导出列转换包之前,让我们看看我们的目标路径。

让我们运行 SSIS 中的导出列转换包

让我们看看目标文件夹,看看我们是否成功了。

是的,我们做到了。
评论已关闭。