我通过 SSIS 导入平面文件,然后将它们导出到 SQL 表中。我需要在中间某处添加一个包含 GUID 的附加列,以便它也可以导出到表中。
我已经确保 SQL 表中有一个附加列准备好用于传递 GUID,但我不确定如何在包中创建 GUID,有什么想法吗?
谢谢
您可以通过脚本组件转换来做到这一点。
在您的数据流任务中,在源和目标之间添加脚本组件。在“输入和输出”下添加一个输出列,根据需要命名,并在数据类型属性中为其指定 DataTypeunique 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
下面的链接应该可以帮助你。
这里有更多详细信息的链接 http://microsoft-ssis.blogspot.com/2011/02/create-guid-column-in-ssis.html
祝你好运