繁体   English   中英

是否可以在 BIzTalk Server 中的单个语句中插入 50 000 条记录?

[英]Is it possible to insert 50 000 record in single statement in BIzTalk Server?

我有 1 个平面文件,它将包含超过 100k 行。 我需要在表中输入(基于数据的动态表)。 那么可以在 BizTalk 中批量插入数据吗?

这是我的 Biztalk 映射。

在此处输入图像描述

Biztalk 项目配置。(批量大小为 100 时仍一次插入单条记录。) 在此处输入图像描述

以下biztalk项目添加单条记录但需要在一次语句中添加多行。

在此处输入图像描述

我已经检查过它会一条一条地插入记录,所以会花费很多时间。 那么任何人都可以为 Biztalk 服务器提供替代解决方案来处理大数据。

是的,这是可能的。

首先,当您生成数据库模式时,请确保您使用 TableOp/Insert。 使用适配器服务对话

在你的 WCF-SQL 或 WCF-Custom with sqlbindings 的 Action 中有以下之一。 第一个如果通过同一个端口发送多个不同的操作(然后操作名称必须匹配消息上下文中设置的,或者通过 Orchestration 逻辑端口操作名称或 BRE 规则),或者第二个你可以使用如果你只发送一种有效载荷。

<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Operation Name="InsertCustomer" Action="TableOp/Insert/dbo/CustomerDetails" />
  <Operation Name="InsertPO" Action="TableOp/Insert/dbo/PurchaseOrder" />
</BtsActionMapping>

或者

TableOp/Insert/dbo/CustomerDetails

当然,用您要插入的任何表替换 CustomerDetails。

从它的外观来看,您的 map 可能不正确,如果您在 Visual Studio 中对其进行测试,您也可能会得到一条记录,这就是问题所在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM