您正在尝试从一个表中获取记录并插入另一个表(MS SQL)当我将其作为键值获取并使用批处理进行提交时,大小为1000但是当2000个记录只有两行时在表中插入的位置。
我尝试使用批量模式,但批量模式要求动态查询
以下是我的查询
INSERT INTO Sample VALUES( #[payload.Index], #[payload.Name])
和有效载荷是
{Index=1,Name=XX},{Index=2,Name=XX},{Index=3,Name=XX}
等
请帮助我如何在Mule ESB中使用批量模式以及我可以为此编写的动态查询.Batch只是发布第一行所以我认为使用批量内部批处理将解决我的问题。谢谢提前!!!
答案 0 :(得分:4)
您可以将// Create a Token from the existing customer on the platform's account
stripe.tokens.create(
{ customer: CUSTOMER_ID, card: CARD_ID },
{ stripe_account: CONNECTED_STRIPE_ACCOUNT_ID }, // id of the connected account
function(err, token) {
// callback
}
与bulk mode = "true"
一起使用。
parameterized query
允许使用一个查询提交数据集合,而不是对集合中的每个参数集执行一个查询。启用 批量模式可以降低应用程序的性能 单个查询执行的数量。批量模式需要一个 参数化查询至少有一个参数。
确保<db:insert config-ref="Database_Configuration" bulkMode="true" doc:name="Database">
<db:parameterized-query>
<![CDATA[INSERT INTO Sample(column1, column2) VALUES( #[payload.Index], #[payload.Name])
]]></db:parameterized-query>
</db:insert>
payload
类型Collection
进入bulk mode
在log4j2.xml
中,在debug
模式下添加数据库模块的日志记录,以查看mule传递给数据库的实际查询。非常适合调试。
<AsyncLogger name="org.mule.module.db" level="DEBUG"/>
请注意,bulk mode
不将与batch-processing
一起使用。 2中的任何一个都可以工作,但如果你的目的只是插入数据,bulk-mode
远比批处理更有效。