Как получить значение столбца в компоненте сценария в службах SSIS?
В приведенном ниже коде я получаю имя столбца, я не смог найти свойство Value в inputcolumn
Мне также нужно получить значение столбца, а не только имя.
IDTSInput100 input = ComponentMetaData.InputCollection[0];
IDTSVirtualInput100 vinput = input.GetVirtualInput();
foreach (IDTSVirtualInputColumn100 inputcolumn in vinput.VirtualInputColumnCollection)
{
strAll += inputcolumn.Name + ", " + Environment.NewLine;
}
1 ответ
Этот код vb.net, но я думаю, что это то, что вы ищете
Public Class ScriptMain
Inherits UserComponent
Private columns As Integer()
Public Overrides Sub PreExecute()
Dim input As IDTSInput90 = ComponentMetaData.InputCollection(0)
ReDim columns(input.InputColumnCollection.Count)
columns = Me.GetColumnIndexes(input.ID)
System.Windows.Forms.MessageBox.Show(columns.Length.ToString())
End Sub
Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal Buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer)
While Buffer.NextRow()
Dim values As New System.Text.StringBuilder
For Each index As Integer In columns
Dim value As Object = Buffer(index)
'If value Is Not Nothing Then
values.Append(value)
'End If
values.Append(",")
Next
'' TODO: Write line to destination here
System.Windows.Forms.MessageBox.Show(values.ToString())
End While
End Sub
End Class
Me.GetColumnIndexes()
метод может быть создан из предоставленного вами кода.