【问题标题】:SSIS Script Task Destination Component Not CompletingSSIS 脚本任务目标组件未完成
【发布时间】:2019-11-20 22:41:48
【问题描述】:

我有一个 SSIS 数据流,它使用脚本任务来创建行、处理行,然后将其中一列的结果写入目标脚本任务中的变量。

目标脚本很简单:

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
        '
        Variables.CampaignId = Row.CampaignId
        '
    End Sub

DataFlow

我在这里缺少什么吗?我需要调用组件的末尾吗?还是测试行集的结尾?

【问题讨论】:

    标签: vb.net ssis


    【解决方案1】:

    ReadWriteVariables 需要在 PostExecute 中写入,不能在 RowBuffer 中写入。

    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
    
        Dim CampID As String
    
        ' This method is called after all the rows have passed through this component.
    
        Public Overrides Sub PostExecute()
            MyBase.PostExecute()
    
            Variables.CampaignId = CampID
    
        End Sub
    
        Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
    
            CampID = Row.CampaignId
    
        End Sub
    
    End Class
    

    回答了我自己的问题,但希望这有助于错误代码未为他们生成的其他人。经过多次运行后,我终于在执行后得到了一个关于读写变量的错误代码,这对故障排除有很大帮助。一定要爱微软...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多