【问题标题】:Assign value to SSIS Script Component new Output Column为 SSIS 脚本组件新的输出列赋值
【发布时间】:2011-03-07 18:53:03
【问题描述】:

我确定这是一个简单的问题,但我正在尝试将 2 列合并到一个新的输出列中,但没有任何运气。每次我得到一个“对象引用未设置为对象的实例”。错误

这是我的代码:

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper

Public Class ScriptMain
    Inherits UserComponent

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
        '
        ' Add your code here
        '
        Dim tmpStr As String
        tmpStr = ""
        If Not IsNumeric(Row.addrmap.ToString) Then
            tmpStr = Row.addrmap.ToString.Substring(Row.addrmap.ToString.Length - 2, 1)
            tmpStr = Row.addrmap.ToString.Remove(Row.addrmap.ToString.Length - 2, 1).PadLeft(3, CChar("0")) & " " & tmpStr.PadLeft(3, CChar("0")) & " " & Row.addrpar.ToString

        Else
            tmpStr = Row.addrmap.ToString.PadLeft(3, CChar("0")) & " " & "000 " & Row.addrpar.ToString
        End If
        Row.addrMapPar = tmpStr
    End Sub

End Class

感谢您的帮助!

【问题讨论】:

    标签: sql-server-2005 ssis ssis-2005


    【解决方案1】:

    我发现了问题!它与数据中的 NULLS 有关。我没有提供数据,我只是在解析它,发现有一些我不知道的NULL。

    为了修复它,我使用了:

    If Row.addrmap_IsNull = False and Row.addrpar_IsNull = False Then
    ...
    End If
    

    【讨论】:

      【解决方案2】:

      您是否已将新的输出列添加到脚本组件任务的输入和输出属性窗格中?

      【讨论】:

      • 是的,addrMapPar 字段仅设置为输出列,addrmap 和 addrpar 字段仅作为输入列。
      • 您发布的内容看起来不错,您是否还有其他可能导致错误的代码?数据类型和输入/输出名称呢,它们都正确吗?
      • 唯一的其他代码(也是炸弹)是我正在做同样事情的另一个表中的数据。输入/输出名称和数据类型应该是正确的。输出列不是输入列会是一个问题吗?还是我缺少一个 Output0_ProcessOutputRow 函数?
      • 你不需要输出函数,输出列也不需要是输入列。您是否尝试过删除并重新创建脚本组件任务?我想知道 BufferWrapper 和 ComponentWrapper 代码文件是否已被修改或损坏。另外,您是否能够通过使用断点或 MessageBox 语句来调试脚本?
      • 我已经删除并重新创建了它,但是不,我无法调试它,而且我也没有得到 MessageBox 的任何东西。我会尝试删除并重新创建并让您知道...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多