使用存储过程将当前日期时间插入到 oracle 数据库中
Insert current datetime into oracle db using stored procedure
我需要通过存储过程调用将当前日期时间插入到 Oracle 数据库中。我试过#[server.dateTime]。还尝试了#[function:date] 但都失败并出现以下错误
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>
您可以使用以下表达式:#[function:datestamp:dd-MM-yy HH:mm:ss]
使用#[function:datestamp:dd-MM-yy HH:mm:ss]
使用 MEL 表达式代替函数:
#[server.dateTime.format('dd-MM-yy HH:mm:ss')]
我需要通过存储过程调用将当前日期时间插入到 Oracle 数据库中。我试过#[server.dateTime]。还尝试了#[function:date] 但都失败并出现以下错误
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>
您可以使用以下表达式:#[function:datestamp:dd-MM-yy HH:mm:ss]
使用#[function:datestamp:dd-MM-yy HH:mm:ss]
使用 MEL 表达式代替函数:
#[server.dateTime.format('dd-MM-yy HH:mm:ss')]