如何在 SSIS 包中获取和存储来自不同来源的数据

How to get and store data from different source in SSIS package

我有一个 XML 源文件,我必须从中获取 "File Name" 和一个 table,我必须从中获取文件状态。一旦我得到这两个值,我需要将这两个数据保存在 table.

XML:

<File>
<File_Info>
    <File_Name>Test1</File_Name>
    <File_Path>BLABLABLA</File_Path>
    <File_Ext>.xml</File_Ext>
</File_Info>
</File>

Table:

FileStatusID  -  Status
1             -  Created
2             -  Processed

这两个来源之间没有任何关系。

如何将 File_Name 来自 XML 的源和来自 table 的 FileStatusID 存储到 table?

文件Table:

FileID - FileName - FileStatusID
1      - Test     - 1
2      - Test2    - 1 

这是我的包裹

如果您希望根据以下顺序合并两个数据源:第一行 XML 与第一行 OLEDB,您可以只添加一个脚本组件在每个数据源之后进行转换。

在每个脚本组件转换中,添加一个 DT_I4(整数) 类型的输出列(假设它的名称是 AutoNumCol

编写以下脚本生成自动编号,(我用的是VB.Net):

Public Class ScriptMain
    Inherits UserComponent

    Private intID as integer = 0

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)

        intID += 1

        Row.AutoNumCol = intID
    End Sub

End Class

并在 Merge Join 中使用这两列

*注意确保您已将脚本输出标记为 IsSorted,并将 AutoNumCol SortKeyPosition 更改为 1: