SSIS包OnError日志记录

时间:2009-10-21 20:04:09

标签: ssis

我有一个包含两个步骤的SSIS包:

1)FTP到服务器并将文件下载到本地SQL Server 2)执行一个SQL Satatement,它会触发一个Storeed Procedure。

这两个步骤都可以正常工作,但是,我想记录这些步骤的成功或失败,因此在系统中这样做,添加一个网格,其中包含运行的每个SSIS包的状态(成功或失败)那天。

为此,我为FTP步骤设置了一个事件处理程序,并向处理程序添加了“执行SQL任务”。这使用Property Expressions中的“SqlStatementSource”属性,以及插入system ::变量(如System :: ErrorCode,System :: ErrorDescription)的insert语句。

当我使用“评估表达式”按钮测试表达式时,一切都很好。但是当我尝试在FTP连接中使用错误的密码测试事件时,FTP步骤失败,但即使事件处理程序类型设置为OnError,也不会引发事件处理程序。

有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

你所做的似乎很好,不应该有任何问题。

确保在包级别添加错误处理程序,即顶级。

我今天做了同样的事情,就我而言,我将数据导出到本地驱动器上的平面文件中 并且正在使用 FilePath 的变量。 我也使用了 OnError 事件处理程序。 为了检查它是否工作正常,我将FilePath变量更改为“Z:\”(我的系统上不存在)。

我在 OnError 事件处理程序中遇到了错误,如

-1073450982组件“平面文件目标”(63)未执行预执行阶段并返回错误代码0xC020200E。
-1071636466无法打开数据文件“Z:\ COM_10212009.txt”。

希望这有帮助。