Mule ESB - 具有动态表名的数据库连接器批量模式

时间:2016-11-21 04:02:47

标签: database mule bulk connector

当我尝试使用"批量模式"使用数据库连接器中的动态表名称(例如:#[flowVars.sfdcTableName]),它会失败。如果我在参数化查询中硬编码表名,它工作正常。有人遇到过这个问题吗?任何人都可以告诉我们如何解决这个问题?#34;批量模式"用动态表名?非常感谢。第一个工作,第二个工作失败。

    <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>

2 个答案:

答案 0 :(得分:0)

这可能听起来很疯狂..但是尝试用单引号包装MEL。我知道。这很愚蠢,但它在过去已经为我解决了类似的问题。

否则您的数据库名称FlowVar未正确设置或对您的查询无效。

答案 1 :(得分:0)

感谢Anirban Sen Chowdhary和StoicNZ,动态表名称不适用于参数化查询,但仅适用于动态查询。在使用动态查询调用数据库连接器之前,我必须使用Groovy构建动态查询。它工作得很好!!。

SJ