【问题标题】:Using BizTalk 2006 to join records使用 BizTalk 2006 加入记录
【发布时间】:2009-04-17 08:06:04
【问题描述】:

我想用 BizTalk 解决一个问题,希望您能对解决它的最佳方法有一些想法。我正在使用平面文件适配器加载平面文件。此文件包含许多不同类型的记录。类型 1 记录是父记录。其余类型都使用各种外键链接到父记录。我正在寻找一种转换,它将获取通过加载平面文件(包含所有类型的记录)创建的消息并将其转换为消息,该消息是基于外键连接所有记录的结果。因此,生成的消息中的每条记录都将包含来自所有记录类型的列,因为消息记录将是连接的结果。

例如,平面文件可能包含以下记录:

* Type1
* Type1
* Type2
* Type2
* Type3
* Type4
* Type4

转换后的消息可能包含如下记录:

* Type1 columns, type2 columns, type3 columns, type4 columns
* Type1 columns, type2 columns, type4 columns

我一直在研究实现这一目标的选项,但希望有些人可能对前进的道路提出建议。

我尝试过的事情是:

  • 将原始消息拆分为具有每种类型记录的消息,然后使用多源映射将它们连接起来。我很难做到这一点,因为我不确定要使用什么 functoid。
  • 将子记录插入 SQL 数据库,以便可以使用 SQL 查找 functoid 填充父记录中的其他列。这比我希望的要慢一些,并且需要使用数据库。
  • 使用 DTS 加载文件,将其转换为格式并以合并格式写出文件以供 BizTalk 使用。这既简单又快速,但不使用 BizTalk。

任何关于如何继续充分利用 BizTalk 的建议都将不胜感激。

【问题讨论】:

    标签: biztalk biztalk-2006


    【解决方案1】:

    这听起来更像是一个 ETL 问题。我建议SSIS。我过去曾将 BizTalk 用于 ETL,但结果一直不好。

    【讨论】:

      【解决方案2】:

      也许您可以尝试使用所谓的“Muenchian 方法”为映射编写自定义 xslt。这是一种使用 xslt 对 xml 输入进行排序的方法。在这种情况下,输入可能是 BizTalk 提供的平面文件的 xml 表示形式。

      http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf 上查看 HotRod 杂志 2009 年第二季度的问题 此问题还处理在 BizTalk 中使用自定义 xslt 的主题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多