SSIS:为​​什么这不记录?

时间:2010-12-03 18:08:42

标签: ssis

我不知道这是否有帮助,但我启用了记录到C驱动器上名为test.txt的文本文件。

Public Sub Main()
    Dim rowsProcessed As Integer = 100
    Dim emptyBytes(0) As Byte

    Dts.Log("Testing, Test 1,2,3", rowsProcessed.ToString, emptyBytes)

    Dts.TaskResult = ScriptResults.Success
End Sub

4 个答案:

答案 0 :(得分:23)

你必须进入SSIS-> Logging菜单并勾选复选框,如疯狂的复选框 - 滴答声 - 忍者才能使其正常工作。

必须检查各种复选框,其中一些复选框仅在您单击脚本任务时出现,因此我花了一些时间来解决这个问题:

  • 首先,通过在“提供者和日志”选项卡上勾选,启用您的日志记录提供程序(您已设置,对吗?)。
  • 然后切换到详细信息选项卡(显示您可能要记录的各种事件)
  • 对于DTS.Log()方法,您需要ScriptTaskLogEntry事件,但当您单击左侧树中的“脚本任务”时,它们仅显示
  • 因此,单击左侧树中的每个脚本任务,启用它进行记录,然后在详细信息选项卡上勾选脚本任务事件。
  • 还要确保为每个脚本任务勾选了日志记录提供程序

另请参阅:http://msdn.microsoft.com/en-us/library/ms136131.aspx

答案 1 :(得分:9)

这是一个老问题,@ codeulike已经很好地回答了这个问题,但我想在调试模式中添加一个关于日志记录行为的注释,特别是对于SSIS或SSIS日志记录的新人(比如我) - 假设你拥有所有的日志记录所需的配置,如果执行您希望记录的选定任务,它仍然不会记录。只有在执行(或调试)整个包时,日志才有效。

答案 2 :(得分:0)

如果确定已正确配置了所有内容,但仍无法在所选数据库中看到dbo.sysssislog,请检查以下内容 YourDatabase>表>系统表

您可以在此处找到您的日志记录。

这是我第一次进行软件包日志记录并正确配置了所有内容,当我意识到它位于特定系统表中时,看不到数据库中的dbo.sysssislog应该进行日志记录并敲了半个小时。数据库。

答案 3 :(得分:0)

我意识到这个问题已经很老了,但也许可以对某人有所帮助。

我遇到了同样的问题-在Visual Studio中调试时,我的文本文件日志记录提供程序只是未写入配置的日志文件中。

我的日志文件位于目录“ project-directory / bin / development”中。

在将路径更改为“项目目录名称” -root(例如“ /project-directory-name/test.txt”)后,它可以正常工作。

我无法解释这一点-这正是我所观察到的。