大家早上好。
我在 JDBC ORACLE 数据库查询中使用 MEL 表达式时遇到问题。
特别是 Mule 流接受一个 Excel 文件,该文件通过 Datamapper 在 Map 中转换,其字段用于以这种形式在数据库中进行查询:
<jdbc-ee:query key="Fill Table" value="INSERT INTO BUFF_SBIL_ZONALE (DATA_ORA,MACRO_ZONA,SEGNO_SBIL,PRZ_MSD_VEN,PRZ_MSD_ACQ,ID_BIS,FILE_NAME,DATA_LOAD)
VALUES (TO_DATE(#[map-payload:DATA_ORA], 'DD/MM/YYYY hh:mi:ss'),#[map-payload:MACROZONA],#[map-payload:SEGNO],#[map-payload:P_medioMSD_VEN],#[map-payload:P_medioMSD_ACQ],#[message.inboundProperties['correlationId']],#[message.InvocationProperty['originalFilename']],SYSDATE)"/>
查询似乎正确,但是当我执行应用程序时,我收到一个异常,提示我#[map-payload:P_medioMSD_VEN]为 NULL(正确,因为在 Excel 文件中它不存在)并且 MEL 表达式无法读取 NULL价值。因此,问题不是 SQL 问题,而是不接受 NULL 数据库字段值的 MEL 问题。
有人知道如何绕过 MEL 异常以接受 mullable 值吗?
提前感谢大家
抛出的异常是: * org.mule.api.expression.RequiredValueException:带有表达式“xy”的表达式求值器“bean”返回空值,但需要一个值。*