尝试从mule数据库连接器向UDT传递日期值时出错

尝试从mule数据库连接器向UDT传递日期值时出错,mule,oracle-sqldeveloper,datetime-format,dataweave,mule4,Mule,Oracle Sqldeveloper,Datetime Format,Dataweave,Mule4,我需要从Mule flow调用Oracle存储过程中定义的UDT类型。为此,我创建了一个JDBC数组类型,如下所示: %dw 2.0 output application/java --- { inParam: Db::createArray("Database_Config","ADDRESS_TAB",[ Db::createStruct("Database_Config","ADDRESS_TAB_TYPE"

我需要从Mule flow调用Oracle存储过程中定义的UDT类型。为此,我创建了一个JDBC数组类型,如下所示:

%dw 2.0
output application/java
---
{
  inParam: Db::createArray("Database_Config","ADDRESS_TAB",[ Db::createStruct("Database_Config","ADDRESS_TAB_TYPE",
     ["TESt-Mule",**("2015-07-04T21:01:01") as DateTime**,"WB"])
    ])
}
oracle地址选项卡类型为

ADDRESS_TAB TABLE OF ADDRESS_TAB_TYPE
Name                Null? Type          
------------------- ----- ------------- 
IADDRESS_NAME             VARCHAR2(240)   
IINACTIVE_DATE            DATE          
ISTATE                    VARCHAR2(150) 
在Oracle端定义的日期类型为日期

调用流后,我发现以下错误:

    ERROR 2021-03-18 23:14:06,971 [[MuleRuntime].uber.04: [playground].oracle-db-loc-testFlow.CPU_INTENSIVE @4d9589a8] [processor: ; event: 876ad840-8811-11eb-a282-a483e7749b4e] org.mule.runtime.core.internal.exception.OnErrorPropagateHandler: 
********************************************************************************
Message               : "org.mule.weave.v2.el.ExpressionFunctionCallException: Exception while executing createStruct("Database_Config","ADDRESS_TAB_TYPE",
         ["TESt-Mule",**("2015-07-04T21:01:01") as DateTime**,"WB"])
        ]) cause: An error occurred when trying to create JDBC Structure. Fail to convert to internal representation: 2015-07-04T21:01:01Z 
Trace:
  at callFunction (Unknown)
  at createStruct (line: -1, column: -1)
  at createArray (line: 5, column: 73)
  at main (line: 5, column: 12)

我正在尝试将此datevalue传递给oracle,非常感谢您的帮助。谢谢

这里的建议可能会帮助你吗


我使用了这个转换: fun dateTimeFormat(inputDateTime)=inputDateTime作为DateTime作为字符串{格式:“yyyy-MM-dd-HH:MM:ss.SSS”}

它成功了。
谢谢

答案中的参考链接很好,但应避免使用仅链接的答案,并且可以标记。谢谢!这是有用的。