【问题标题】:How to compare two GUIDs in SSIS Conditional Split?如何比较 SSIS 条件拆分中的两个 GUID?
【发布时间】:2017-04-20 18:36:40
【问题描述】:

我已经看到this 的问题,我尝试了它的建议,但没有任何成功(参见下面的尝试 1)。

我在有条件拆分中尝试了以下条件,但没有成功。我已经检查了符合条件的条件拆分之前是否存在记录,因此我应该从条件拆分中获取数据,但我没有得到任何数据。我还验证了其他两个条件独立于 GUID 比较正常工作。

我尝试了很多方法来实现这一点,但没有成功:

尝试 1:

CompanyGUIDString = (DT_WSTR,50)CompanyID  // In Derived Column

// Conditional Split Condition
ISNULL(AssociationID) ==  FALSE  && ccseq_associationtype == 2 && CompanyGUIDString == "7C46BB0B-AEF3-E611-80E0-005056B33317" 

尝试 2:

ISNULL(AssociationID) ==  FALSE  && ccseq_associationtype == 2 && CompanyID == "7C46BB0B-AEF3-E611-80E0-005056B33317" 

尝试 3:

ISNULL(AssociationID) ==  FALSE  && ccseq_associationtype == 2 && (DT_WSTR, 50) CompanyID == (DT_WSTR,50) "7C46BB0B-AEF3-E611-80E0-005056B33317" 

尝试 4:

ISNULL(AssociationID) ==  FALSE  && ccseq_associationtype == 2 && (DT_STR, 50, 1252) CompanyID == (DT_STR, 50, 1252) "7C46BB0B-AEF3-E611-80E0-005056B33317"

尝试 5:

ISNULL(AssociationID) ==  FALSE  && ccseq_associationtype == 2 && (DT_GUID) CompanyID == (DT_GUID) "7C46BB0B-AEF3-E611-80E0-005056B33317"  

【问题讨论】:

  • 您是否尝试过删除其他条件并仅检查:CompanyGUIDString == "7C46BB0B-AEF3-E611-80E0-005056B33317" ?最好一一添加联合条件,看看是哪一种情况。
  • @TheEsisia 我试过了,但没有记录
  • 两种方法来确保记录实际上进入了条件拆分。 1. 筛选 OLE DB 源中的源或您使用的任何内容以仅获取该特定行。只需为该特定 guid 使用 WHERE 子句。 2. 使用数据查看器。

标签: sql sql-server ssis etl conditional-split


【解决方案1】:

我发现了答案。当您将 GUID 转换为字符串时,转换会将“{}”添加到 GUID。下面的代码将正常工作。

(ISNULL(AssociationID) ==  FALSE ) && (ccseq_associationtype == 2) && (UPPER((DT_WSTR,50)CompanyID) == UPPER((DT_WSTR,50)"{7C46BB0B-AEF3-E611-80E0-005056B33317}"))

【讨论】:

    【解决方案2】:

    您的表达式看起来不错,但请注意,SSIS 表达式区分大小写,只需添加括号并使用UPPER() 函数

    (ISNULL(AssociationID) ==  FALSE)  &&
    ([ccseq_associationtype] == 2) && 
    (UPPER((DT_WSTR, 50)[CompanyGUIDString]) == UPPER("7C46BB0B-AEF3-E611-80E0-005056B33317"))
    

    【讨论】:

    • 我试了一下,但没有成功。我也尝试了几种变体。
    • 好的。但是 wharever 将是您的解决方案,不要错过 UPPER() 函数。
    猜你喜欢
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多