我创建了一个控制台应用程序,它可以处理CSV
文件,并将数据加载到SQL Server
表。此应用程序从SSIS Execute Process Task
调用。
不幸的是我不知道SSIS
包,但问题是:我能以某种方式将异常传递到SSIS
进程,以便它可以重定向流吗?模式是什么?是否有一些管道或类似的东西,我可以传递异常或一些消息?
答案 0 :(得分:1)
执行流程任务有3个通讯渠道:stdin,stdout,stderr。
您将无法完整地传播错误,但您可以尝试将其序列化为标准错误消息,然后将其分配给SSIS中的变量。然后你需要有一个脚本任务作为后继者,将错误消息重构为.NET级别异常,然后你抛出或者你采取廉价和懒惰的方式,假设如果填充变量stderr,那么调用过程很糟糕,你失败了SSIS包 - 或采取你需要的任何规避措施。
前者可能导致包失败而异常,而后者则是更加可控的失败......
执行流程任务参考问题
答案 1 :(得分:0)
您应该能够为您的软件包添加Event Handler,以便针对可以正确处理错误的特定任务。由于您正在调用外部应用程序,因此不确定是否将确切的异常重新放回SSIS。