BizTalk平面文件架构 - 如何接受LF或CRLF作为行分隔符

Ful*_*ons 6 biztalk flat-file biztalk-2009

我们的客户端向我们发送一个平面文件作为输入,然后我们在发送到目标系统之前将其转换为XML文件.

平面文件由多行组成,每行由LF或CRLF分隔.

如何创建平面文件架构,以便BizTalk可以解释每一行数据,无论该行是由LF(0x0A)还是CRLF(0x0D 0x0A)分隔?

Ful*_*ons 7

问题解决了.以下是其他人想知道的解决方案:

由于LF和CRLF都共享LF字符,因此我将行分隔符设置为LF(0x0A).这适用于提取完整记录(当CRLF是分隔符时,在末尾有一个额外的CR字符的副作用).

可以使用虚拟字段来消除额外的CR字符以吸收CR字符或使用地图.

请注意,由于LF和CRLF分隔符具有不同的长度(分别为1和2个字符),因此我不得不对模式进行更多更改以确保两者都得到正确处理.

在我的场景中,每个被解析的行记录包含8个位置字段,因此在末尾有一个额外的CR字符导致错误,因为Biztalk期望最后一个字段的某个长度不考虑额外的CR字符.解决方案是将第8个字段(在我的情况下是填充字段)的长度增加1.然而,为了仍然能够处理LF行分隔符,请确保设置"允许提前终止"标志为真.这样,如果最后一个字段短于其指定长度的1个字符(如果未包括CR字符),则不会引发错误.