2011-01-13 132 views
1

我是SSIS软件包的新手,我试图从一个自定义脚本中使日志工作。我们已经从包中记录了本地消息,但是我想将自己的自定义日志消息添加到它。我在Microsoft.SqlServer.Dts.Pipeline.ScriptComponent类看到有一个日志方法,但我不确定什么用于dataCodedataBytes参数,所以我用0和一个空数组,但是这没有记录任何东西。SSIS包脚本日志记录

那么如何让我的脚本内的日志工作? 是否有任何需要了解的启用配置?

感谢

注:我用的SqlServer 2008 SP2(未R2)

回答

1

工作你需要确保任务是为已启用日志记录。从BIDS菜单中选择SSIS> Logging ...。选择您的数据流任务。在提供者和日志选项卡上,确保选择日志提供者。选择Details选项卡并检查ScriptComponentLogEntry事件。请注意,此事件不会从Package设置继承;所以你必须选择数据流任务。现在你的日志应该被捕获。

您可能还有兴趣使用ComponentMetaData.FireInformation方法记录信息事件。以下是关于FireInformation及相关方法的更多信息。您可能会发现这些配置更容易,因为相关事件(OnInformation for FireInformation)是从包设置继承的。换句话说,如果您在包级别为OnInformation事件设置日志记录,则所有任务都将记录OnInformation事件。

+0

谢谢,我似乎忘了你必须明确记录日志,而且它没有继承。一个curoius的东西,虽然是'ComponentMetaData.FireInformation'在两个不同的级别记录消息两次。也许是因为继承了配置,并且我明确地设置了它。不用担心,因为我只能使用基类Log方法调用。谢谢 – user551962