我有一个SSIS 2008r2软件包因外键违规而失败。我试图捕获调试窗口中出现的错误
“ INSERT语句与FOREIGN KEY约束冲突 “XXXX”。冲突发生在数据库“xxxxxx”,表“xxxxx”中, 列'xxxx'。“
我已尝试启用SSIS日志记录并为“OnError”事件创建事件处理程序,但日志仅提供通用SSIS消息
“ SSIS错误代码DTS_E_PROCESSINPUTFAILED。ProcessInput方法 组件“xxxxx目标”(1458)上的错误代码失败 处理输入“ADO NET目标输入”时的0xC020844B(1461)。 标识的组件从Process Input返回错误 方法。该错误特定于组件,但错误是致命的 并将导致数据流任务停止运行。可能有错误 在此之前发布的消息,包含有关失败的更多信息。“
我想获取要记录的确切错误(即这是外键违规)而不是DTS错误。怎么办呢?
答案 0 :(得分:0)
尝试使用OLE DB目的地。
只是为了记录,如果你在SSIS中有一个脚本任务,你可以使用DTS对象记录错误:
try
{
// your code
}
catch (Exception ex)
{
//An error occurred.
Dts.Events.FireError(0, "Script Task Example", ex.Message + "\r" + ex.StackTrace, String.Empty, 0);
Dts.TaskResult = (int)ScriptResults.Failure;
}