Hola expertos,
Estoy enfrentando un problema con una declaración INSERT en una base de datos ORACLE donde algunos campos están vacíos, por ejemplo:
- <STATEMENT_VLP_CONT_DETAILS>
- <TABLE_VLP_CONT_DETAILS ACTION="INSERT">
<TABLE>VLP_CONT_DETAILS</TABLE>
- <ACCESS>
<VLP_HDR_ID>43</VLP_HDR_ID>
<VLP_CONT_LINE_ID>1</VLP_CONT_LINE_ID>
<QUANTITY>1</QUANTITY>
<OWNER>CBHU</OWNER>
<SERIAL_NO>3372739</SERIAL_NO>
<CONT_ISO_CODE>2300</CONT_ISO_CODE>
<WEIGHT>6.44</WEIGHT>
<POL>ILASH</POL>
<POD>FRFOS</POD>
<FD>FRFOS</FD>
<OPER_CODE>COS</OPER_CODE>
<CUR_STOW_LOC>150102</CUR_STOW_LOC>
<PRV_STOW_LOC />
<HAZARDOUS>N</HAZARDOUS>
...
En el canal de comunicación JDBC Receiver seleccioné: Interpretación de valores de cadena vacía = Valor NULL.
Parece que las cadenas vacías no se convierten en valores NULL, como se puede ver en la declaración SQL reflejada en RWB:
INSERT INTO VLP_CONT_DETAILS (VLP_HDR_ID, VLP_CONT_LINE_ID, QUANTITY, OWNER, SERIAL_NO, CONT_ISO_CODE, WEIGHT, POL, POD, FD, OPER_CODE, CUR_STOW_LOC,
PRV_STOW_LOC
, HAZARDOUS, EMPTY, REFER, OOG, HAZARD_IMDG, TEMP_SET, TEMP_MIN, TEMP_MAX, FRONT_OVL, REAR_OVL, RIGHT_OVW, LEFT_OVW, OVERHEIGHT, COMMODITY, BOOKING_REF, ALLOTMENT, YARD_LOC, LD_SEQ_CRANEID, LD_SEQ_NUMBER, LD_STATUS, STACKABLE, OPT_PORT_CODE1, OPT_PORT_CODE2, OPT_PORT_CODE3) VALUES (44, 1, 1, CBHU, 3372739, 2300, 6.44, ILASH, FRFOS, FRFOS, COS, 150102, , N, N, N, N, , , , , , , , , , , , , , , , 0, 64, N, , , , )
Por lo tanto, estoy obteniendo el siguiente error:
No se pudo ejecutar la declaración para la tabla/procedimiento almacenado "VLP_CONT_DETAILS" (estructura "STATEMENT_VLP_CONT_DETAILS") debido a java.sql.SQLException: ORA-00936: falta una expresión
Se agradecería la ayuda.