【问题标题】:Can you create a file in two locations您可以在两个位置创建文件吗
【发布时间】:2012-07-10 09:24:42
【问题描述】:

我有一个简单的界面,使用基于简单编排创建文本文件的数据库轮询。

该文件被输出到一个 FTP 文件夹并被我们的客户提取。现在我们经常有一个客户端声称文件未发送或文件中的数据不完整,但由于他们已从 FTP 中删除了输出文件,因此我们没有此文件的副本。

我考虑在编排中创建两个发送端口,这样我就可以创建一个文件到 FTP 和一个存档文件夹。问题在于文件名是 DELSUP%datetime%.txt,所以这将导致我的备份文件的名称略有不同。有没有办法让发送端口创建一个备份文件?

【问题讨论】:

    标签: biztalk biztalk-2010


    【解决方案1】:

    使用 SendPortGroup 而不是单个 SendPort。

    在 SendPortGroup 中登记原始 FTP SendPort 和新 FILE SendPort,然后更改编排配置以绑定到新 SendPortGroup 而不是 FTP SendPort。

    【讨论】:

    • 会使用这些创建完全相同的文件吗?如果你使用 message_ID 会一样吗?
    • 这将是一个不同的文件名,即使两条消息在消息框中似乎具有相同的 MessageID。我已经通过一个简单的概念证明确认了这一点,将两个相同的发送端口添加到一个 SendPortGroup,从而在输出目录中生成 2 个名称不同的文件。
    【解决方案2】:

    是的,您只需要设置一个新的发送端口并将其配置为发送您首选名称的文件。您可以使用与 FTP 端口相同的消息。高温

    【讨论】:

    • 但这不会给文件一个稍微不同的时间戳名称吗?我想如果那是最好的方法,我可以接受一个文件是 DELSUP201207101128 和另一个 DELSUP201207101129,但这可能会使与客户的沟通更加困难,因为日期时间会略有不同
    • 为什么不将第一个时间戳复制到变量中,然后将其插入“备份”中
    【解决方案3】:

    您可以在文件适配器属性中使用 %SourceFileName% 宏:

    在您的情况下,您不需要做任何其他事情,因为适配器将从消息上下文属性FILE.ReceivedFileName 中读取文件名,然后将文件名端到端设置保留。

    【讨论】:

      猜你喜欢
      • 2019-03-21
      • 2022-01-26
      • 1970-01-01
      • 2019-10-10
      • 1970-01-01
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多