使用存储过程将当前日期时间插入到oracle数据库

问题描述:

我需要通过storedprocedure调用将当前日期时间插入到oracle数据库中。我试过#[server.dateTime]。也试过#[功能:日期]但两者都低于错误而失败使用存储过程将当前日期时间插入到oracle数据库

Message : Invalid conversion requested (java.sql.SQLException). SQL Code : 17132 Payload Type : org.mule.util.CaseInsensitiveHashMap SQL State : 99999

下面是我的配置。谢谢你的帮助。

<batch:step name="UpdateDatabase"> 
<db:stored-procedure config-ref="Oracle_Configuration" doc:name="UpdateDatabase"> 
<db:parameterized-query><![CDATA[{call 
tokens.UpdateData(:P_ID,:P_TOKEN,:P_CC,:P_DATE_UPDATED,:P_UPDATED_BY,:P_RESULT)}]]></db:parameterized-query> 
<db:in-param name="P_ID" type="INTEGER" value="123456"/> 
<db:in-param name="P_TOKEN" type="VARCHAR" value="test_token"/> 
<db:in-param name="P_CC" type="VARCHAR" value="test_cc"/> 
<db:in-param name="P_DATE_UPDATED" type="DATE" value="# 
[server.dateTime]"/> 
<db:in-param name="P_UPDATED_BY" type="VARCHAR" value="migrator"/> 
<db:out-param name="P_RESULT" type="NUMERIC"/> 
</db:stored-procedure> 
</batch:step> 
+0

尝试'#[function:now]' –

+0

感谢它的工作。另外我怎样才能通过自定义日期? – user3366906

+0

你是什么意思的自定义日期?格式化? –

使用MEL表达而不是函数:

#[server.dateTime.format('dd-MM-yy HH:mm:ss')]

可以使用下面的表达式:#[function:datestamp:dd-MM-yy HH:mm:ss]

使用#[功能:邮戳:DD-MM-YY HH:MM:SS]