如何在 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
:
我有一个 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
: