2016-05-12 60 views
1

我已經創建了一個控制檯應用程序,它可以與CSV文件一起工作並將數據加載到SQL Server表中。此應用程序從SSIS Execute Process Task調用。通過SSIS過程的例外

不幸的是,我不知道SSIS包,但問題是:我可以以某種方式將例外傳遞到SSIS進程,因此它可以重定向流?什麼是模式?有沒有管道或類似的東西,我可以通過例外或一些消息?

回答

1

執行進程任務有3個通道:stdin,stdout,stderr。

您將無法完整傳播錯誤,但可以嘗試將其序列化爲標準錯誤消息,然後將其分配給SSIS中的變量。然後,您需要有一個腳本任務作爲繼任者,將錯誤消息重新組合成一個.NET級別的異常,然後將其拋出,或者假設如果變量stderr被填充,則採用廉價和懶惰的方式,然後調用過程很糟糕,並且您無法使用SSIS軟件包 - 或採取任何您需要的迴避措施。

的包裝中的異常失敗,前者有可能的結果,而後者則是一個更可控的失敗......

執行進程任務基準問題

+0

感謝您的回答。我很欣賞你的努力,但不能接受任何答案,因爲我不確定哪一個是正確的。 –

+0

如果我正確地理解了這個問題,這個答案的第一句和第二句的前半部分似乎是相關的。另一個答案是完全不相關的。 –

0

您應該可以在您的包中添加一個Event Handler,以執行適當處理錯誤的特定任務。不確定是否將確切的異常返回到SSIS,因爲您正在調用外部應用程序。

+0

感謝您答案,但這正是我所感興趣的。可能是我們可以從主方法返回0以外的其他值嗎?其實我已經爲某人開發了一個應用程序,現在他問我這個問題。因爲看起來他嘗試了從主方法返回1的例外,但他說它不起作用,該死的我甚至無法檢查,因爲我實際上對SSIS沒有任何瞭解。 –