【发布时间】:2015-10-06 06:52:25
【问题描述】:
我是 SSIS 的新手。我想开发数据验证包。
名字
- 强制字段检查:如果为 Null,则拒绝记录
- 如果字段长度 > 50,则拒绝记录
社保号
- 如果字段长度 > 12,则拒绝记录
- 如果 SSN 格式无效,发出警告并处理没有 SSN 值的记录。
- 有效格式:去除所有非数字字符后应显示 9 位数值。
- 仅向 MDM 发送 9 位数字
像这样,我有 30 条规则。如果验证失败,例如某些规则的“强制字段丢失”,我必须显示错误消息。我需要将拒绝记录发送到单独的表。如果一条规则对一条记录失败,则不应检查其余规则。它去拒绝表。请帮我建立一个包。提前致谢!
【问题讨论】:
-
我最初会使用条件开关来过滤一些失败的记录,但是有 30 条规则,考虑使用输入/输出列脚本元素来分析数据并设置每个记录的失败标志。然后可以通过一个条件拆分对其进行过滤。见 [sqlis.com/sqlis/post/…
-
这个问题太笼统了。请将其缩小到您不知道如何做的特定技术,并在发布之前展示您对问题进行研究的尝试。
-
我会采用的一般方法是通过派生列在数据流中创建布尔标志。
len([FirstName]) > 50的 RejectName 和公式然后您可以使用条件拆分将坏名称路由到备用位置。起泡,冲洗,重复。其中一些将更具挑战性 - SSN 格式无效?通过 .NET 脚本任务可能比派生列等更好地计算
标签: sql-server validation ssis