SSIS:在数据流中使用 System::TaskName
对于更详细的日志记录,我想检索 [System::TaskName]
For more detailed logging, I want to retrieve the [System::TaskName]
现在,当从失败的任务开始时,我们转到脚本任务",在那里我获取 [System::TaskName] 并将其写入日志.从逻辑上讲,这会写入当前的 TaskName = 'Script task' 而不是失败的任务
Right now, when starting from the task that fails we go to 'script task', there I fetch [System::TaskName] and write that in the log. Logically this writes the current TaskName = 'Script task' instead of the failed task
问题是 System::TaskName 只知道在任务内部,逻辑上...事实上,我想从数据流内部更新一个变量User::CurrentTaskName",= 从任务内部.
Problem is the System::TaskName is only know inside the task, logical... In fact I want to update a variable 'User::CurrentTaskName' from inside the dataflow, = from inside the task.
如果我可以在数据流中使用脚本任务"组件,这将是最简单的,但我找不到.可能我需要一个解决方法.
This would be easiest if I could use a 'Script Task' component inside a dataflow but I can't find that. Probably I need a workaround.
希望你们大致明白我的意思...
Hope you guys understand approximately what I mean...
提前致谢!
推荐答案
我能够通过在脚本组件中添加以下内容来访问 TaskName.
I was able to access the TaskName by adding the following inside a Script Component.
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")
相关文章