Как передать переменные в редактор преобразования скриптов? - PullRequest
0 голосов
/ 16 апреля 2009

Я хотел бы передать переменные из моего пакета в редактор преобразования сценариев. Как мне добавить это в мой Row.Reference1 ниже?

Вот скрипт, который я использую:

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)

        Row.Column1 = Tokenise(Row.Column0, "|", 1)
        Row.Column2 = Tokenise(Row.Column0, "|", 2)
        Row.Column3 = Tokenise(Row.Column0, "|", 3)
        Row.Column4 = Tokenise(Row.Column0, "|", 4)
        Row.Column5 = Tokenise(Row.Column0, "|", 5)
        Row.Column6 = Tokenise(Row.Column0, "|", 6)
        Row.Column7 = Tokenise(Row.Column0, "|", 7)
        Row.Column8 = Tokenise(Row.Column0, "|", 8)
        Row.Column9 = Tokenise(Row.Column0, "|", 9)
        Row.Column10 = Tokenise(Row.Column0, "|", 10)
        Row.Column11 = Tokenise(Row.Column0, "|", 11)
        Row.Column12 = Tokenise(Row.Column0, "|", 12)
        Row.Column13 = Tokenise(Row.Column0, "|", 13)
        Row.Column14 = Tokenise(Row.Column0, "|", 14)
        Row.Column15 = Tokenise(Row.Column0, "|", 15)
        Row.Column16 = Tokenise(Row.Column0, "|", 16)
        'Row.Reference1 = ???

    End Sub

Private Function Tokenise(ByVal input As String, ByVal delimiter As String, ByVal token As Integer) As String

        Dim tokenArray As String()
        tokenArray = input.Split(delimiter.ToCharArray) 'Split the string by the delimiter
        If tokenArray.Length < token Then 'Protect against a request for a token that doesn't exist
            Return ""
        Else
            Return tokenArray(token - 1)
        End If
    End Function
End Class

1 Ответ

1 голос
/ 16 апреля 2009

На странице «Сценарий» редактора преобразования сценариев последний раздел - «Пользовательские свойства». Существует два свойства: ReadOnlyVariables и ReadWriteVariables. Задайте те из них, которые соответствуют разделенному запятыми списку переменных, на которые должен ссылаться скрипт.

Когда вы нажмете кнопку «Редактировать скрипт», вы обнаружите, что класс Variables, созданный в ComponentWrapper.vb, теперь имеет свойства с именами переменных. Переменные только для чтения будут существовать как свойства только для чтения; переменные ReadWrite будут существовать как свойства как с геттером, так и с сеттером.

Затем вы ссылаетесь на них как, например, Variables.TaskID.

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