我正在开发一个SSIS项目,以便在SQL Server数据库中导入调用行(Excel文件)。
这是我的数据流:
我在导入过程之前添加了一些查找来检查行。 第一个检查行是否已存在(用于防止重复,因为用户拖放并删除指定文件夹中的导入文件)。然后其他查找检查外键约束。 此外,所有没有匹配的行都被重定向到另一个数据库。 所以我能够检查无效的行,然后审计包让我知道我的NoMatchingRowsCall表是否在导入期间发生了变化。
现在,我想在没有匹配的行中添加“错误消息”来检查“这行有什么问题?”。我想在每次查找后添加一个“派生列(没有匹配的输出)”来添加错误消息。那样的方法呢?如何在“派生列”中添加文本内容?我应该使用包变量吗?
这是我想要的:
ID | C1 | C2 | C3 | ERROR_MESSAGE
1 | .. | .. | .. | Row already exists
2 | .. | .. | .. | FK error for column C1
3 | .. | .. | .. | FK error for column C2
...
我想要一个“软”解决方案来跟踪没有停止包执行的失败行,并且如果需要,可以通过更改失败的密钥来手动插入失败的行。
答案 0 :(得分:1)
为每个No Match输出添加派生的Error_Message列将为您提供所需的内容。在您当前的设计中,您只需键入针对每个派生列的错误消息,因为每个流将有一个派生列组件。除非您想在其他地方重用其他值或将所有消息放在集中位置
,否则无需添加变量虽然有几个警告......