【问题标题】:Data Validation in SSISSSIS 中的数据验证
【发布时间】:2015-10-06 06:52:25
【问题描述】:

我是 SSIS 的新手。我想开发数据验证包。

名字

  1. 强制字段检查:如果为 Null,则拒绝记录
    1. 如果字段长度 > 50,则拒绝记录

社保号

  1. 如果字段长度 > 12,则拒绝记录
    1. 如果 SSN 格式无效,发出警告并处理没有 SSN 值的记录。
    2. 有效格式:去除所有非数字字符后应显示 9 位数值。
    3. 仅向 MDM 发送 9 位数字

像这样,我有 30 条规则。如果验证失败,例如某些规则的“强制字段丢失”,我必须显示错误消息。我需要将拒绝记录发送到单独的表。如果一条规则对一条记录失败,则不应检查其余规则。它去拒绝表。请帮我建立一个包。提前致谢!

【问题讨论】:

  • 我最初会使用条件开关来过滤一些失败的记录,但是有 30 条规则,考虑使用输入/输出列脚本元素来分析数据并设置每个记录的失败标志。然后可以通过一个条件拆分对其进行过滤。见 [sqlis.com/sqlis/post/…
  • 这个问题太笼统了。请将其缩小到您不知道如何做的特定技术,并在发布之前展示您对问题进行研究的尝试。
  • 我会采用的一般方法是通过派生列在数据流中创建布尔标志。 len([FirstName]) > 50 的 RejectName 和公式然后您可以使用条件拆分将坏名称路由到备用位置。起泡,冲洗,重复。其中一些将更具挑战性 - SSN 格式无效?通过 .NET 脚本任务可能比派生列等更好地计算

标签: sql-server validation ssis


【解决方案1】:

像这样,我有 30 条规则。 如果 SSIS 包在没有验证的情况下将此数据加载到“暂存”表中,然后执行迭代这些规则并采取相应措施的存储过程,那么维护这些规则会容易得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    相关资源
    最近更新 更多