0

I'm setting up a test server and i get this problem ORA-01461: can bind a LONG value only for insert into a LONG column when i try execute Select from database, the error is when code call persist() of entitymanager

Im running glashfiss 4.1, Java 8, Oracle 9i and deploying throught Netbeans 8

I tried putting on persistence.xml oracle.jdbc.RetainV9LongBindBehavior","true"

  • Turn on SQL logging https://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging and check the columns and their ordering, as well as the parameters and its length. You might have a string value >4000 bytes that gets treated like a Clob instead of a varchar. – Chris May 27 '19 at 14:41
  • I'm turn on loggin, and i put the values printed in sql developer and this works, the problem is communication between jdbc and oracle 9i – Luis Romero May 28 '19 at 15:24
  • Show what you are dealing with, and those relevant details if we are to help. Is this occurring on a value >4k in length? have you specified the Oracle database platform class for EclipseLInk to use? – Chris May 28 '19 at 17:39
  • This is my database: RQ_ID NUMBER(19,0) RQ_NOM_EMPRESA_FACTURADORA1 VARCHAR2(20 BYTE) RQ_NOM_EMPRESA_FACTURADORA2 VARCHAR2(20 BYTE) RQ_NOM_EMPRESA_FACTURADORA3 VARCHAR2(20 BYTE) RQ_CODIGO_CONVENIO1 NUMBER(4,0) RQ_NIT_BANCO1 NUMBER(10,0) RQ_FECHA_HORA_TRANSACCION VARCHAR2(14 BYTE) RQ_UID VARCHAR2(30 BYTE) RQ_CANAL_TRANSACCION VARCHAR2(3 BYTE) RQ_CODIGO_OFICINA NUMBER(4,0) RQ_CODIGO_CAJERO VARCHAR2(10 BYTE) RQ_CODIGO_COMPENSACION1 NUMBER(3,0) RQ_TIPO_DOCUMENTO VARCHAR2(3 BYTE) RQ_NUMERO_DOCUMENTO NUMBER(16,0) RQ_CODIGO_CONVENIO2 NUMBER(4,0) – Luis Romero May 28 '19 at 18:58
  • RQ_NUMERO_FACTURA VARCHAR2(30 BYTE) RQ_CATEGORIA_RECAUDO NUMBER(4,0) RQ_TIPO_MONEDA_COP VARCHAR2(3 BYTE) RQ_VALOR_TOTAL_FACTURA NUMBER(13,2) RQ_VALOR_EFECTIV NUMBER(13,2) RQ_VALOR_CHEQUE NUMBER(13,2) RQ_NUMERO_CUENTA NUMBER(10,0) RQ_TIPO_CUENTA VARCHAR2(1 BYTE) RQ_JORNADA VARCHAR2(1 BYTE) RQ_REFERENCIA1 VARCHAR2(24 BYTE) RQ_REFERENCIA2 VARCHAR2(24 BYTE) RQ_REFERENCIA3 VARCHAR2(24 BYTE) RQ_REFERENCIA4 VARCHAR2(24 BYTE) RQ_REFERENCIA5 VARCHAR2(24 BYTE) RQ_FECHA_TRANSACCION VARCHAR2(8 BYTE) RQ_CODIGO_CONVENIO3 NUMBER(4,0) RQ_NIT_BANCO2 NUMBER(10,0) – Luis Romero May 28 '19 at 18:59
  • RQ_TIPO_OPERACION VARCHAR2(30 BYTE) RQ_OPERACION_APLICADA NUMBER(2,0) RQ_FECHA_APLICACION_OPERACION VARCHAR2(14 BYTE) RQ_FECHA_PAGO VARCHAR2(8 BYTE) RQ_CODIGO_COMPENSACION2 NUMBER(3,0) RQ_FECHA_RECEPCION_OPERACION TIMESTAMP(6) REFERENCIA1 VARCHAR2(20 BYTE) REFERENCIA2 VARCHAR2(20 BYTE) – Luis Romero May 28 '19 at 18:59
  • That is a lot of columns that are just a few bytes in length. What are the mappings used on these fields? – Chris May 29 '19 at 16:02
  • I solved this downgrading versions, the error was ojdbc not communicating correctly with oracle 9i cuz v9bindlong not working – Luis Romero May 30 '19 at 22:51

1 Answers1

0

I solved this downgrading the version of glassfish to 3.1 and java SE to 1.6