sql >> Base de Datos >  >> RDS >> Oracle

ora-01406 Error al obtener valores usando OCI

El error enumerado en la pregunta se solucionó en 10.2.0.3 y el error solo se da en las versiones de Oracle anteriores. Editar:el mismo problema se vio en Oracle 10.2.0.4. Todavía estamos investigando esto

Edit2:al definir cursores para columnas CHAR/VARCHAR en OCI (usamos un contenedor para este propósito), el tamaño de la cadena que está vinculada a una columna debe ser al menos uno más grande que el ancho máximo de la columna.

p.ej. Nombre de columna:U_NAME Tipo:VARCHAR(30)

1.char zNombre[30];pCursor->Definir(zNombre, 3O); // esto fallaría si la columna tiene un valor con 30 caracteres

2.char zNombre[31];pCursor->Definir(zNombre, 3O); // esto fallaría si la columna tiene un valor con 30 caracteres

3.char zNombre[31];pCursor->Definir(zNombre, 31); // Correcto. no fallaría por ningún valor