みなさん、おはようございます。
JDBC ORACLE データベース クエリでの MEL 式の使用に問題があります。
特に、Mule フローは、Datamapper を介して Map に変換される Excel ファイルを受け入れ、そのフィールドを使用して、次の形式でデータベースにクエリを作成します。
<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 の問題です。
mullable 値を受け入れるために MEL 例外をバイパスする方法を知っている人はいますか?
みんなに前もって感謝します
スローされる例外は次のとおりです。 * org.mule.api.expression.RequiredValueException: 式「xy」を持つ式評価子「bean」が null を返しましたが、値が必要でした。*