SSIS: используйте System :: TaskName внутри потока данных - PullRequest
1 голос
/ 14 ноября 2011

Для более подробного ведения журнала я хочу получить [System :: TaskName]

Прямо сейчас, начиная с задачи, которая не выполняется, мы переходим к «скриптовой задаче», там я получаю [System :: TaskName] и записываю это в журнал. Логически это записывает текущее TaskName = 'Script task' вместо неудавшейся задачи enter image description here

Проблема в том, что System :: TaskName известна только внутри задачи, логично ... Фактически я хочу обновить переменную 'User :: CurrentTaskName' из потока данных, = изнутри задачи.

Это было бы проще, если бы я мог использовать компонент «Задача сценария» внутри потока данных, но я не могу его найти. Вероятно, мне нужен обходной путь.

Надеюсь, вы, ребята, примерно поняли, о чем я ...

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 14 ноября 2011

Судя по вашему потоку данных, похоже, что вы пытаетесь реализовать регистрацию ошибок.Мне повезло с использованием обработчика событий для такого рода вещей в прошлом.Он имеет дополнительное преимущество, заключающееся в очистке вашего макета и упрощении обслуживания пакета в будущем, поскольку вам не нужно поддерживать связь всех ваших задач с обработкой ошибок.

4 голосов
/ 22 марта 2012

Мне удалось получить доступ к TaskName, добавив в компонент Script следующее:

Private Function ReadVariable(ByVal varName As String) As Object
    Dim result As Object
    Try
        Dim vars As IDTSVariables100
        Me.VariableDispenser.LockForRead(varName)
        Me.VariableDispenser.GetVariables(vars)
        Try
            result = vars(varName).Value
        Catch ex As Exception
            Throw ex
        Finally
            vars.Unlock()
        End Try
    Catch ex As Exception
        Throw ex
    End Try
    Return result
End Function

и затем получив доступ к переменной следующим образом:

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