Avalados por :

Como resolver o erro ORA-00936 ao inserir valores nulos no Oracle

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 10 Vistas
0
Cargando...

Olá especialistas,

Estou enfrentando um problema com uma declaração INSERT em um banco de dados ORACLE onde alguns campos estão vazios, por exemplo:

- <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>

...

No canal de comunicação JDBC Receiver, selecionei: Interpretação de valores de string vazia = Valor NULL.

Parece que as strings vazias não estão sendo convertidas em valores NULL, como pode ser visto na declaração SQL refletida em 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, , , , )

Portanto, estou recebendo o seguinte erro:

Não foi possível executar a declaração para a tabela/procedimento armazenado "VLP_CONT_DETAILS" (estrutura "STATEMENT_VLP_CONT_DETAILS") devido a java.sql.SQLException: ORA-00936: falta uma expressão

A ajuda seria apreciada.

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

4 Respuestas

0
Cargando...

Olá Dennis,

A nota que você forneceu (1350830) aborda um problema com um procedimento armazenado.

No meu caso, é uma simples e direta consulta INSERT.

No entanto, pedirei à nossa equipe de bancos de dados que investigue.

Saudações,

Effi.

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

Olá Effi,

Você implementou a Nota SAP 1350830, como mencionou Suraj? Parece cobrir exatamente o problema que você mencionou.

Eu também tive esse problema há algum tempo (no meu caso era um campo de data, no entanto).

Obrigado, Suraj! Agora tenho certeza de que não foi minha culpa naquela época.

Atenciosamente,

Dennis

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

Olá Suraj,

O logSQLStatement já está ativado (foi assim que enviei a declaração SQL com minha primeira mensagem).

Além disso, já testei a declaração SQL usando o TOAD. Foi assim que encontrei o problema do NULL, porque quando substituí os espaços vazios por valores NULL, a declaração foi concluída com sucesso.

Você tem mais sugestões?

Saudações,

Effi.

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

Olá Dennis,

Implementamos a nota sem sucesso positivo.

Obrigado.

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?