我有一个自定义SSIS日志记录提供程序,用于将日志从SSIS进程推送到自定义日志记录服务。日志记录配置位于包级别。
过程: 1.在OpenLog中,我为日志创建一个操作ID,分配给现有的日志服务。 2.执行日志方法时,我将现有日志记录服务中的事件记录为OpenLog方法中创建的操作的子项。
一切正常,但是使用子包创建了一个新的SSIS包。因此,现在我有多个操作ID,并且由于包是并行执行的,我必须对每个日志使用正确的操作ID。
问题? Log方法不提供当前包。 SourceID提供组件ID,但不提供包ID。
是否有办法(从API)检索记录条目的包?
谢谢, 罗布
答案 0 :(得分:1)
到目前为止,SSIS没有提供直接访问自定义日志提供程序中的程序包名称或ID的方法。
您可以执行的操作是通过自定义日志提供程序启用程序包日志记录,并将程序包名称作为配置属性提供给自定义提供程序。
然后,您可以在自定义日志提供程序方法中访问 ConfigString 属性,并使用它创建事件源。
在您的情况下,您可以为父级和子级创建一个自定义提供程序,并为配置属性提供不同的名称。