我正在通過SSIS導入平面文件,然後將它們導出到SQL表中。我需要在中間的某處添加一個包含GUID的附加列,以便它也可以導出到表中。在導入到SQL表之前,如何在平面文件源中的SSIS中添加GUID列?
我已經確定在SQL表中有一個額外的列準備傳遞給GUID,但我不確定如何在包中創建GUID,有什麼想法?
感謝
我正在通過SSIS導入平面文件,然後將它們導出到SQL表中。我需要在中間的某處添加一個包含GUID的附加列,以便它也可以導出到表中。在導入到SQL表之前,如何在平面文件源中的SSIS中添加GUID列?
我已經確定在SQL表中有一個額外的列準備傳遞給GUID,但我不確定如何在包中創建GUID,有什麼想法?
感謝
您可以通過腳本組件轉換完成此操作。
在數據流任務中,在源和目標之間添加腳本組件。 在「輸入和輸出」添加輸出列,命名爲你喜歡和數據類型屬性給它的數據類型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
您可以用Script Component,或Custom Data Flow Component做到這一點。
使用NewGuid爲每行創建一個新的guid。
應該可以幫到你。
這裏更多的細節 http://microsoft-ssis.blogspot.com/2011/02/create-guid-column-in-ssis.html
好運
非常感謝鏈接你們所有人和山羊CO我真的很感激它。 – TJH