Avalados por :

Cómo solucionar el error ORA-00936 al insertar valores nulos en Oracle

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 6 Vistas
0
Loading...

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.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Loading...

Hola Dennis,

La nota que proporcionaste (1350830) aborda un problema con un procedimiento almacenado.

En mi caso, se trata de una consulta INSERT simple y directa.

No obstante, pediré a nuestro equipo de bases de datos que lo investigue.

Saludos,

Effi.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Loading...

Hola Effi,

¿Implementaste la Nota SAP 1350830, como mencionó Suraj? Parece cubrir exactamente el problema que mencionas.

Yo también tuve este problema hace un tiempo (en mi caso era un campo de fecha, sin embargo).

¡Gracias, Suraj! Ahora estoy seguro de que no fue mi culpa en ese momento.

Saludos cordiales,

Dennis

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Loading...

Hola Suraj,

El logSQLStatement ya está activado (así es como envié la declaración SQL con mi primer mensaje).

Además, ya probé la declaración SQL usando TOAD. Es así como encontré el problema de NULL porque cuando reemplacé los lugares vacíos con valores NULL, la declaración se completó exitosamente.

¿Tienes más sugerencias?

Saludos,

Effi.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Loading...

Hola Dennis,

Hemos implementado la nota sin resultado positivo.

Gracias.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?