gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:55:31 25 4
gpt4 key购买 nike

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

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

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

最佳答案

问题解决了。这是解决方案,以防其他人想知道:

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

可以使用虚拟字段吸收 CR 字符或使用 map 来摆脱额外的 CR 字符。

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

在我的场景中,解析的每个行记录都包含 8 个位置字段,因此在末尾有一个额外的 CR 字符会导致错误,因为 Biztalk 期望最后一个字段的特定长度不考虑额外的 CR 字符。解决方案是将第 8 个字段(在我的例子中是 Filler 字段)的长度增加 1。但是,为了仍然能够处理 LF 行分隔符,请确保设置 “允许提前终止”标志为真。如果最后一个字段比指定的长度少 1 个字符(如果不包括 CR 字符),则不会抛出错误。

关于BizTalk 平面文件架构 - 如何接受 LF 或 CRLF 作为行分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2692171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com