我有一个问题正在尝试使用 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 的建议将不胜感激。