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

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

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

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

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

有什么想法吗?

提前致谢!

有帮助吗?

解决方案

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

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

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

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

-1073450982 component" Flat File Destination" (63)预执行阶段失败并返回错误代码0xC020200E。
-1071636466无法打开数据文件“Z:\ COM_10212009.txt”。

希望这有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top