当我尝试在数据库连接器中对动态表名称(例如:#flowVars.sfdcTableName)使用“批量模式”时,它失败了。如果我在参数化查询中硬编码表名,它会工作得很好。有没有人遇到过这个问题?谁能告诉我如何解决这个问题,将“批量模式”与动态表名称一起使用?非常感谢。第一个工作正常,第二个失败。
<db:insert config-ref="APP_Database_Configuration" bulkMode="true" doc:name="Database">
<db:parameterized-query>
<![CDATA[INSERT INTO ACCOUNT (Id) Values (#[payload.Id])]]>
</db:parameterized-query>
</db:insert>
<db:insert config-ref="APP_Database_Configuration" bulkMode="true" doc:name="Database">
<db:parameterized-query>
<![CDATA[INSERT INTO #[flowVars.sfdcTableName] (Id) Values (#[payload.Id])]]>
</db:parameterized-query>
</db:insert>发布于 2016-12-01 19:00:27
这听起来可能很疯狂..但请尝试将MEL括在单引号中。我知道呀。这很愚蠢,但它在过去也为我解决了类似的问题。
否则,您的数据库名称FlowVar设置不正确,或者对您的查询无效。
发布于 2016-12-04 21:48:45
感谢Anirban Sen Chowdhary和StoicNZ,动态表名不能用于参数化查询,只能用于动态查询。在使用动态查询调用数据库连接器之前,我必须使用Groovy构建一个动态查询。它工作得很好!!.
SJ
https://stackoverflow.com/questions/40712560
复制相似问题