我遇到一种情况,我想捕获所有导致错误的列。为此,我有一个工作正常的数据流,使用脚本组件更改了导致数据流失败的列的目标数据类型,我能够捕获导致该问题的列名,现在我引入了另一种数据类型更改,但现在它捕获的是最新更改的列名,但没有捕获有问题的两个列名。
有没有一种方法可以将两个或多个导致数据流失败的列名插入到目标平面文件中用逗号分隔的列中。
最佳答案
根据您的评论,我想建议一个脚本组件并在那里执行数据验证:
添加新的输出,称为错误,包含三列:
KeyToRecord [正确的dataType]
strDataInCol字符串
错误原因字符串
然后进行各种检查:
if(Row.Col1.Length > 50)
{
OutputError.AddRow();
OutputError.KeyToRecord = Row.RecordKey;
OutputError.strDataInCol = Row.Col1.ToString();
OutputError.ErrorReason = "Column1 is greater than 50 chars";
}
等等,通过您的所有检查。
这将为您提供文件中的错误列表。
关于sql-server - 如何在SSIS数据流中捕获多个错误列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55974639/