我试图将所有input0Buffer转储到txt文件,以结束我的努力,使得平坦的目标可重用,因为我已经完成了超过100个包和每个结构以及列是不同的。将Input0Buffer写入文本文件的SSIS脚本任务组件
我将错误行重定向到一个平面文件,所以在每个软件包中手动设置它是一场噩梦,所以我想将整个输入写入而不指定Row.Name,它们全部放入文本文件中。
我到了只有一列的地步!这让我疯狂!!
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports System.IO
Imports System.Reflection
Imports System.Xml
Imports Microsoft.SqlServer.Dts.Pipeline
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute()> _
<CLSCompliant(False)> _
Public Class ScriptMain
Inherits UserComponent
Dim textWriter As StreamWriter
Private inputBuffer As PipelineBuffer
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 PreExecute()
MyBase.PreExecute()
textWriter = New StreamWriter("c:\Test4.txt", True)
End Sub
Public Overrides Sub PostExecute()
MyBase.PostExecute()
textWriter.Close()
''
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Dim delim As String = ", "
Dim RowCount As Integer = 0
For RowCount = 0 To inputBuffer.ColumnCount = -1
If inputBuffer.Item(RowCount).ToString() = "" Then
inputBuffer.Item(RowCount) = String.Empty
End If
Next
textWriter.WriteLine(inputBuffer.Item(RowCount).ToString() & delim)
End Sub
End Class
任何人都可以帮助我吗?
此问题已在MSDN上提出:http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/82639c70-1954-4c15-9f6e-2ece1c69ef78/ – JYousef 2011-04-29 19:05:44