0
我完全不熟悉(VB)腳本,並試圖在SSIS腳本組件中找到一種方式將3個輸入列轉換爲一個XML結構化輸出列。SSIS - VB腳本組件將輸入轉換爲XML
Input:
ID NAME DATE
1 AAA 2011-01-01
2 BBB 2011-02-01
3 CCC 2011-03-01
Expected Output:
<output>
<row>
<id>1</id>
<name>AAA</name>
<date>2011-01-01</date>
</row>
<row>
<id>2</id>
<name>BBB</name>
<date>2011-02-01</date>
</row>
<row>
<id>3</id>
<name>CCC</name>
<date>2011-03-01</date>
</row>
</output>
該解決方案即時尋找需要可擴展性,因爲可以有列x個,只是需要通過每列迭代並生成名稱標籤和值的腳本。
我有一種通過輸出每個值到一個通用的「參數」節點,但我不確定如何獲得列名。
Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal Buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer)
inputBuffer = Buffer
MyBase.ProcessInput(InputID, Buffer)
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Dim xml_string As String = ""
Dim counter As Integer
xml_string = "<output>"
For counter = 0 To inputBuffer.ColumnCount - 1
xml_string = xml_string + "<param>" + inputBuffer.Item(counter).ToString() + "</param>"
Next
xml_string = xml_string + "<output>"
Row.xmloutput = xml_string
End Sub
找到我的答案在這裏:http://agilebi.com/jwelch/2007/06/03/xml-變換部分-2 / – shakedown7