在导入到 SQL 表之前,如何从平面文件源在 SSIS 中添加 GUID 列?

TJH*_*TJH 2 sql ssis guid flat-file

我通过 SSIS 导入平面文件,然后将它们导出到 SQL 表中。我需要在中间某处添加一个包含 GUID 的附加列,以便它也可以导出到表中。

我已确保 SQL 表中准备好了一个附加列,用于将 GUID 传递到其中,但我不确定如何在包中创建 GUID,有什么想法吗?

谢谢

Har*_* CO 6

您可以通过脚本组件转换来完成此操作。

在数据流任务中,在源和目标之间添加脚本组件。在“输入和输出”下添加一个输出列,将其命名为您喜欢的名称,然后在“数据类型属性”中为其指定数据类型unique identifier [DT_GUID]

使用此脚本(确保 ScriptLanguage 是 VB.net):

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper

<microsoft.sqlserver.dts.pipeline.ssisscriptcomponententrypointattribute> _
<clscompliant(false)> _
Public Class ScriptMain
    Inherits UserComponent

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
        ' Create a Globally Unique Identifier with SSIS
        Row.Guid = System.Guid.NewGuid()
    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)