Присвоить значение компоненту сценария служб SSIS новый столбец вывода - PullRequest
1 голос
/ 07 марта 2011

Я уверен, что это простая проблема, но я пытаюсь объединить 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

Спасибо за помощь!

Ответы [ 2 ]

4 голосов
/ 08 марта 2011

Я разобрался в проблеме! Это было связано с NULLS в данных. Я не предоставил данные, я просто проанализировал их и обнаружил, что есть некоторые NULL, о которых я не знал.

Чтобы исправить это, я использовал:

If Row.addrmap_IsNull = False and Row.addrpar_IsNull = False Then
...
End If
3 голосов
/ 07 марта 2011

Вы добавили новый столбец вывода в область свойств «Входы и выходы» задачи «Компонент сценария»?enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...