【发布时间】:2017-05-11 21:13:26
【问题描述】:
也许是我看这个太久了。但是我有这个我正在尝试运行的 Oracle 更新查询,我已经验证了该查询与 SQL Developer 上的硬编码值一起工作,但是当我从我的流 Mule 运行它时它失败了。谁能告诉我我做错了什么?
这里是查询:
<db:update config-ref="DBConf" doc:name="abcd">
<db:dynamic-query><![CDATA[UPDATE myTable
SET TYPE= 'Entry',
ENTERED_DATE=SYSDATE,
ENTRY_BY= 2345,
ENTRY_DATE=TO_DATE('#[flowVars.entryDate]','YYYY-MM-DD')
WHERE ID = 'abcd1234']]>
</db:dynamic-query>
</db:update>
flowVars.entryDate 值为 '2017-05-10'
这会引发以下错误:
消息:ORA-01841:(完整)年份必须介于 -4713 和 +9999 之间,并且不能为 0 (java.sql.SQLDataException)。消息负载的类型:整数
现在相同的查询可以像我在 SQL Developer 中所说的那样工作,但在 Mule 中却不行,任何人都可以提供任何输入
【问题讨论】:
-
嗨,我猜变量 #[flowVars.entryDate] 不是日期值。像这样硬编码日期和测试 TO_DATE('2017-05-10','YYYY-MM-DD')。