类时间戳上的属性无效



>我从查询中收到一个id和一个时间戳,当我尝试输出时间戳时,我收到一个无效的属性错误。我正在使用ojdbc7.jar,Dataweave 2.0和Mule 4。

使用转换消息,我可以毫无问题地输出 payload.ID[0]。我尝试将时间戳强制转换为 DateTime 并将其格式化为字符串,但仍然失败。

以下作品

%dw 2.0
output application/json
---
payload.ID[0]

下面给出错误"无效的属性名称:类oracle.sql.TIMESTAMP上的shareBytes。验证是否预设了正确的资源库,同时在有效负载处写入 Json。CREATED_DATE.shareBytes." 计算表达式:"%dw 2.0.">

%dw 2.0
output application/json
---
payload.CREATED_DATE[0]

下面给出错误"无法强制对象 { class: oracle.sql.TIMESTAMP } (org.mule.weave.v2.module.pojo.reader.JavaBeanObjectValue@6f5eee28( 为字符串">

%dw 2.0
output application/json
---
payload.CREATED_DATE as String {format: "dd-MMM-yy h:mm:s"}

我希望第二个或第三个示例返回时间戳。

您可以传递以下系统(JVM(属性:oracle.jdbc.J2EE13Compliant=true(如-Doracle.jdbc.J2EE13Compliant=true(以强制Oracle驱动程序返回java.sql.Timestamp而不是oracle.sql.Timestamp - 这将允许您在Dataweave中强制java.sql.Timestamp

有关 Oracle 驱动程序设置的详细信息,请参阅 https://docs.oracle.com/cd/B28359_01/java.111/b31224/datacc.htm

最新更新