尝试从mule数据库连接器向UDT传递日期值时出错
我需要从Mule flow调用Oracle存储过程中定义的UDT类型。为此,我创建了一个JDBC数组类型,如下所示:尝试从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"
%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”} 它成功了。
谢谢 答案中的参考链接很好,但应避免使用仅链接的答案,并且可以标记。谢谢!这是有用的。