Вы находитесь на странице: 1из 22

CODIGOS SQLCODE

-007 El campo contiene caracteres ilegales.

-010 La cadena o constante no tiene puesta la marca de final (comilla).

-024 Nombre de la tabla en la UPDATE distinta del declarado en el cursor.

-060 Invalido el tipo especificado.

-084 Comando SQL erróneo. Encuentra un estamento SQL erróneo. Alguna de las
palabras escritas, bien nombres de columna, bien campos WORKING o bien la WHERE
están mal escritas.
Al hacer una SELECT COUNT(*) comprobar que tiene correcta la sintaxis.
Al abrir un cursor: comprobar que nombre del último campo de una SELECT no llegue,
exactamente, hasta la columna 72. Si sucede esto pasar este último campo a la línea
siguiente.

+100 Fila no encontrada por un FETCH, UPDATE o DELETE o el resultado de una


QUERY sobre una tabla vacía.
No encuentra en la tabla la fila especificada. es un error que se puede admitir y
controlar por programa.

-101 El comando es muy largo o complejo. El estamento es mas largo que la longitud
del mismo

-102 La longitud de la cadena o constante es superior a 254 caracteres de texto, o


bien superior a 124 caracteres gráficos.

-103 Literal numérico invalido. El contenido de una columna de la tabla no es numérico


(entero, decimal o flotante).

-104 La sentencia DB2 contiene caracteres inválidos o un comando mal escrito, o falta
un parámetro.
Cuando tenemos puesto un símbolo erróneo dentro del fichero utilizado para la
operación realizada. (Ej. Asterisco en lugar de guión).
Revisar sentencia SQL, normalmente falta una coma entre dos campos a seleccionar o
modificar.
Puede ocurrir en el BIND al compilar un programa porque en el JCL había un / en vez
de dos en la DD.
Puede ocurrir al hacer una UPDATE por SPUFI porque falta alguna coma detrás de cada
valor definido en el ‘SET’ para modificarlo.

-105 Literal alfanumérico (constante) en cadena invalido.

-107 El nombre es muy largo y el máximo disponible es .......tamaño.

-109 Cláusula no permitida. Incompatibilidad entre cláusulas. (FETCH de UPDATE con


ORDER etc.)

-110 Literal hexadecimal inválido empieza por .....(cadena).

-111 Una función SQL no incluye el nombre de una columna.

-112 El operador de una función es otra función SQL distinta de la mostrada en la


expresión, o DISTINCT seguido de otra expresión.. El nombre especificado tiene un
carácter no permitido en DB2.

-113 Hay un carácter invalido encontrado en una palabra de la sentencia SQL.

-115 Un predicado es invalido porque la comparación del operador (operador) es


seguida por una lista entre paréntesis o por ANY o ALL sin SUBQUERY.

-117 El numero de valores de la INSERT no coincide con el numero de columnas


especificadas.
Cuando la DCL de la tabla es superior, en longitud a la DCL que tenemos nosotros,
tendremos que crear la tabla de nuevo.

-118 El objeto de la tabla o vista de la INSERT, DELETE o UPDATE esta también


identificado dentro de una cláusula FROM.

-119 La columna identificada en una cláusula HAVING no esta incluida en la cláusula


GROUP BY.

-120 La cláusula WHERE o cláusula SET incluye una función SQL o hace referencia a
una columna del GROUP BY de la definición de la vista.

-121 En un INSERT o una UPDATE hay una columna que esta varias veces.

-122 Una SELECT con GROUP BY contiene una columna que no está en GROUP BY. (La
cláusula SELECT con GROUP BY solo puede contener campos que estén en el GROUP
BY y funciones).

-125 Un campo numérico ordenado por la cláusula ORDER BY no esta identificado


como una columna de la tabla.

-126 La SELECT contiene una cláusula UPDATE y otra ORDER BY a la vez.

-127 Especificada mas de una DISTINCT dentro de una SELECT.

-128 Invalido el uso de NULL en un mandato.

-129 La orden contiene muchos nombres de tablas.

-131 La orden (LIKE) es incompatible por el tipo de datos.

-132 El predicado LIKE es invalido porque el primer operador no es una columna y el


segundo no es una cadena.

-133 La función SQL tiene la función invalida porque es invalido aritméticamente el


operador utilizado.

-134 Longitud excesiva en la cadena para la (columna - nombre) o la variable HOST.


Es mayor de 254 caracteres.

-136 El SORT no puede ser ejecutado cuando la longitud es mayor de 4000 bytes.

-137 Resultado de la concatenación muy largo.

-138 El segundo o tercer argumento de la función de sustraer esta fuera de rango.

-150 El objeto del INSERT, DELETE, o UPDATE, no esta es una operación no permitida.
-151 La columna no puede ser actualizada porque esta incluida en la clave de una
partición de TABLAESPACIO o derivada de una función SQL o una expresión.

-153 La vista creada no incluye una lista de columnas.

-154 La vista creada falla porque la definición contiene una unión.

-155 La cláusula FROM es invalida porque una de las tablas es una vista que incluye un
grupo por cláusula.

-156 El ALTER, DROP TABLE, LOCK TABLE, o CREATE INDEX de la instrucción identifica
una vista.

-157 Solamente un tabla puede ser especificada en una cláusula dentro de una clave
ajena <nombre - objeto> este no es un nombre de tabla.

-158 El numero de columnas especificado para una vista no es el mismo que el numero
de columnas especificado en la cláusula SELECT.

-159 El nombre especificado en la vista DROP no es un nombre de tabla.

-160 La opción con CHECK no puede ser utilizada para la vista especificada.

-161 El INSERT o el UPDATE no es permitido porque un resultado de una columna no


satisface la definición de la vista.

+162 TABLAESPACIO BASEDEDATOS-NOMBRE.TABLAESPACIO-NOMBRE ha sido


situado en un chequeo pendiente.

-164 No se tienen privilegios para crea una vista con la calificación de ‘WITH’.

-170 El numero de argumentos especificado por <nombre - función es invalido.

-171 El tipo de dato, longitud o valor del argumento <NN> de <nombre - función> es
invalido.

-180 Problemas con datos tipo ‘DATE’ o ‘TIME’. WHERE con campo fecha IS NULL y no
se recupera el campo. Acceso a DB2 pasando mal las fecha.
-181 Problemas con datos tipo ‘DATE’ o ‘TIME’.

-182 Problemas con datos tipo ‘DATE’ o ‘TIME’.

-183 Una operación aritmética con una fecha o el TIMESTAMP tiene como resultado
que no es valido dentro del rango de fechas.

-184 Una expresión aritmética con una fecha y una hora el contenido contiene un
parámetro en el registro.

-185 La opción local de formato ha sido usada como una fecha o una hora no local, la
salida ha sido instalada.

-186 La longitud de la fecha local o la hora local ha sido incrementada y se esta


ejecutando el programa --------- RELIES ----- con la vieja longitud.

-187 Una referencia al corriente registro especial es invalido porque el reloj del MVS
esta mal o el parámetro esta fuera de rango.

-197 En una cláusula ‘ORDER BY’ se pone un nombre de columna calificado y se esta
usando la sentencia ‘UNION’ (Se solicita poniendo el numero de orden de la columna)

-198 El operando preparado o inmediatamente ejecutado esta en blanco o vacío.

-199 Uso ilegal de palabra clave o se está esperando un comando.


Al hacer una INSERT por SPUFI con VALUES en todos los campos si esta asteriscada la
línea última con parte de los VALUES y con el paréntesis y punto y coma da este
código.
Se puede producir, al hacer una SELECT por SPUFI habiendo una coma al final de los
campos seleccionados.
Error al codificar alguna sentencia DB2 por spufi.

-203 La referencia a la columna es ambigua y no esta clara. Puede ocurrir que este
especificado mas de una vez.

-204 El objeto que queremos identificar no esta definido para el DB2 o falta por hacer
el sinónimo de la tabla.
Nombre no declarado. Localizar el nombre que aparece debajo de este numero. Crear
sinónimo del mismo, y hacer de nuevo el BIND.
Cuando creamos el sinónimo, se hace para el usuario con el que estemos trabajando
en el momento de dar el comando de creación al db2, aunque le digamos que es para
otro es en vano ya que el antepone el usuario al sinónimo a crear.

-205 La columna especificada no pertenece a la tabla que referenciamos.

-206 El nombre de la columna no es una columna de la tabla donde se ha hecho la


INSERT, UPDATE, SELECT O DELETE.

-207 La cláusula ORDER BY es invalida porque esta incluye un nombre de columna que
afecta al resultado de la unión.

-208 Uno de los campos utilizados en el ORDER BY no esta incluido en la SELECT. Todo
campo que aparece en un ORDER BY ha de ser recuperado.

-219 El nombre de una tabla en un DECLARE no existe.

-220 La columna en la tabla no esta definida propiamente.

-221 El conjunto opcional de columnas en el EXPLAIN de la tabla esta incompleto, la


columna opcional esta perdido.

-250 La localización del nombre no puede hacerse por no estar definido cuando se
procesa la liberación del objeto nombrado.

-251 El TOKEN no es valido.

-301 Utilizamos una variable HOST que no puede ser usada ya que los tipos de datos
son incompatibles.

-302 El valor de la variable de entrada que utilizamos es demasiado largo para la


columna de destino.
El valor de un campo de la tabla es muy largo o muy pequeño para el campo o campos
donde se debe dejar la información.
Si se trata de una SELECT la instrucción donde nos casca el programa es posible que
no le estemos moviendo nada a la clave o no esta completa.
Si se trata de una OPEN lo mas posible es que no se le este moviendo nada a la clave,
y que además tengamos puesta una WHERE.
Si se trata de un UPDATE es muy posible que tenga ZEROS o el valor por defecto del
campo a actualizar.
Poner el mismo numero de campos para la lectura y para dejar la información. Caso de
ser una SELECT mover datos a la clave.

-303 El valor de una variable no se puede asignar a una variable HOST porque el tipo
de dato no es comparable.

+304 Un valor con el tipo de dato TYPE-DATO1 no puede ser asignado a una variable
HOST porque el valor no esta dentro del rango de la variable HOST en la posición
numero/posición con el tipo de dato DATO-TIPO2.

-304 Un valor no se puede ser asignado a una variable HOST porque el valor no esta
dentro del rango o no corresponde con el tipo de dato que puede contener la variable.

-305 El NULL no puede ser asignado a una variable HOST porque no especifica la
variable que debe ser.
- Es posible que se este haciendo una SELECT con valores directos en
lugar de haber hecho el MOVE a las variables HOST para la
selección.
- Es posible que se este haciendo una SELECT con una variable HOST
que deba tener NULL en caso de ser código de retorno 100, lo mejor
intentar eliminar esta variable del INTO si es posible.
- Este código de retorno es el +100 cuando se esta haciendo un SUM
en una instrucción DB2 es decir si no se encuentran filas que
tratar.
- Revisar por SPUFI la SELECT que se esta intentando realizar.

Al hacer una SELECT con MAX (o con MIN), y se ha puesto INTO. Se soluciona
poniendo una SELECT con una SUBSELECT por igual al MAX que queremos, es decir:

SELECT OPEFECOR
INTO OPEFECOR
FROM PFTOPER
WHERE OPEIDCER = :OPEIDCER
AND OPEFECOR = (SELECT MAX(OPEFECOR)
FROM PFTOPER
WHERE OPEIDCER = :OPEIDCER);

También puede producirse al hacer una SELECT con SUM y no se ha puesto la variable
nula que necesita asociada al mismo:

EXEC SQL
SELECT SUM(CERTICOM), SUM(CERTIDES)
INTO :WDSUMCOMI:WDNUMLL1, :WDSUMDESC:WDNULL2
FROM PFTCERTI
WHERE CERTIFOND = :CERTIFOND
AND CERTIFECH >= :WCFECDES
AND CERTIFECH <= :WCFECHAS;

-309 Un predicado es invalido porque hace referencia a una variable HOST con un
valor nulo.

-310 Las variables del WHEN que se utilizan, no tienen cargado ningún valor.

-311 La longitud de la variable de WORKING es negativa.

-312 Variable indefinida o no puede ser usada como variable HOST.

-313 El numero de variables HOST especificado no es igual al de parámetros marcado.

-314 La instrucción contiene referencias ambiguas a una variable HOST.

-401 Los operandos de una comparación u operación aritmética no son del mismo tipo.
Se selecciona un campo que no existe en la tabla.
Cuando estamos intentando modificar una fila por SPUFI o realizar una SELECT con un
valor alfanumérico y el campo a modificar es numérico.

+402 Localización desconocida. Los operandos de una comparación u operación


aritmética son incompatibles (en un DATE o TIME).

-402 El error se produce cuando los operandos de una comparación u operación


aritmética son incompatibles (en un date o time).
+403 El objeto local referenciado por el alias creado no existe.

-404 El INSERT o UPDATE especificado contiene un nombre de columna demasiado


larga.

-405 El literal numérico no puede ser usado como especificador porque esta fuera de
rango. Se ejecuta una 'SELECT' y se ha salido de rango uno de los literales. puede
ocurrir también que se haya olvidado las comillas en un campo alfanumérico.

-406 Un valor numérico calculado o derivado no corresponde al rango de la columna de


los objetos.

-407 Un valor insertado o actualizado, o el valor "predicado" es nulo pero la columna


no puede contener valores nulos. Falta un campo de la tabla al hacerse un INSERT o
UPDATE.

-408 Un valor insertado o actualizado, no se puede comparar con el tipo de dato del
objeto de la columna.

-409 Operador invalido para realizar la función COUNT.

-410 El literal de coma flotante contiene mas de 30 caracteres.

-411 La clave no puede ser usada como se ha especificado, o no está bien definida.

-412 La cláusula SELECT de un SUBQUERY especifica múltiples columnas.

-413 Desbordamiento durante la conversión del contenido de un campo.

-414 El nombre de la columna esta declarado como un verbo o comando. En un LIKE


se especifica una columna numérica.

-415 Las correspondientes columnas de los operadores de una unión no tienen idéntica
descripción de las columnas de la tabla.

-416 Un operador de una unión contiene una larga cadena en la columna que exceden
la longitud permitida.
-417 Un predicado de cadena debe de ser preparado incluyendo los parámetros
marcados en los operandos del mismo operador.

-418 Un predicado fue realizado conteniendo una cadena con parámetros inválidos.

-419 El resultado de una división decimal ha producido un resultado negativo.

-421 Los operandos de una unión no tienen los mismos números de columnas.

-501 El cursor con el que hacemos un FETCH o un CLOSE no esta abierto.

-502 El cursor que se menciona en el OPEN ya esta abierto.

-503 Una columna no puede ser actualizada porque no esta identificada en la cláusula
UPDATE o en la declaración del cursor.

-504 El nombre del cursor no esta definido.

-507 El cursor identificado en el UPDATE o DELETE no esta abierto.

-508 El cursor identificado en el UPDATE o DELETE no esta posicionado sobre una fila.

-509 La tabla identificada en el UPDATE o DELETE no es la misma tabla que la


designada en el cursor.

-510 La tabla designada por el cursor de UPDATE o DELETE no puede ser modificada.
Se hace DELETE FOR CURSOR con ORDER BY.

-511 La cláusula FOR UPDATE o FOR DELETE no puede ser especificada porque la tabla
designada por el cursor no puede ser modificada.

-512 El resultado referenciado al objeto remoto es invalido.

-513 El alias no debe ser definido en otro remoto o local.

-514 El cursor no esta dispuesto.

-516 La descripción de la declaración no identifica una declaración preparada.


-517 El cursor no puede ser usado porque esta declaración no identifica una
declaración SELECT preparada.

-518 La ejecución de la declaración no identifica una declaración valida.

-519 La declaración preparada identifica la SELECT declarada de apertura del cursor.

-530 El INSERT o UPDATE con una clave ajena es invalido.

-531 La clave primaria en una fila no puede ser actualizada porque esta tiene una o
más filas dependientes en conexión.

-532 La conexión <nombre -------> restringe el borrado de la fila con lugares x 'lugar -
numero'.

-533 Es invalido insertar múltiples filas.

-534 La clave principal no pudo ser actualizada porque múltiples filas se actualizarían.

-535 Borrado o actualización inválida con <WHERE CURRENT OF>.

-536 El resultado del DELETE es invalido porque la tabla puede verse afectada por esta
operación.

-537 La clave primaria o clave ajena identifica la columna mas de una vez.

-538 La clave extraña <nombre> no esta conforme esta la descripción de la clave


primaria en la tabla.

-539 La tabla no tiene clave primaria.

-540 La definición de la tabla esta incompleta porque no tiene clave principal indexada.

-541 Extraña clave es invalida porque contiene un duplicado contrastado


referencialmente.

-542 La columna no puede ser una columna de la clave primaria porque contiene
valores NULL.

-551 El usuario no tiene privilegios para hacer la operación sobre el objeto.


Este error puede también ocurrir así:
- El objeto DB2 no existe.
- El objeto esta en estado READ ONLY.
- Se esta intentando crear un objeto con un AUTHORIZATION-ID que no tiene
autorización para dicha función.
- Si se esta haciendo un CREATE o un ALTER de una tabla definida con integridad
referencial y no se tiene autorización.

-552 El usuario (AUTH-ID) no tiene privilegios para ejecutar la operación.

-553 El usuario identificado no es valido para ser autorizado.

-554 El usuario no tiene privilegios para darse privilegios a si mismo.

-555 El usuario no tiene privilegios para revocarse a si mismo.

-556 Un privilegio no puede ser revocado porque el usuario no tiene autorización.

-557 Se intenta hacer un GRANT o un REVOKE y es inconsistente.

-558 Cláusula invalida porque la combinación de cláusulas o por la revocación del


GRANT.

-559 Todas las funciones autorizadas han sido dejadas inactivas.

-560 La opción WITH de un GRANT es ignorada para actualizar.

+561 Los privilegios del ANTER y el INDEX no pueden ser "públicos en todas las
localizaciones".

-562 Se intenta o hacer bind o ejecutar un plan que no tiene autorización.

-571 El resultado podría ser una múltiple actualización.

+588 WITH GRANT se ignora porque el GRANT es TO PUBLIC.


-601 El nombre del objeto que va a ser creado es idéntico a otro ya existente.
Se intenta hacer un sinónimo y ya está hecho.

-602 Hay muchas columnas especificadas en un CREATE INDEX.

-603 Un único INDEX no puede ser creado porque la tabla contiene columnas que
están duplicadas respecto a los valores que identifican las columnas.

-604 La definición especificada en la definición de la columna es invalida en la longitud,


escala, o precisión.

-607 Operación no definida por el sistema de tablas.

-612 Columna duplicada.

-613 La clave primaria es muy larga o tiene muchas columnas.

-614 El índice no puede ser creado porque la suma de las longitudes internas de la
columna identificada es mayor que el máximo permitido o tiene demasiadas columnas.

-616 (tipo-objeto1) (nombre-objeto1) no se puede hacer DROP porque esta


referenciado por el (tipo-objeto2) (nombre-objeto2).

-618 La operación no esta permitida en un sistema de base de datos.

-619 La operación no esta permitida porque el fichero de la base de datos no esta


parado.

-620 La palabra clave IN (clave dentro del tipo) no esta permitida por un TABLESPACE
dentro de un fichero de base de datos.

-621 Duplicado BIND, detectado que previamente fue asignado a la base.

-623 El CLUSTER indexado ya existe en la tabla.

-624 La tabla ya tiene clave primaria.


+625 La definición de la tabla nombre/tabla ha sido incompleta al hacer los cambios.

-625 La tabla no tiene un índice puesto en vigor, el único es la clave primaria.

-626 El resultado alternativo es ejecutable porque la paginación no esta detenida.

-627 El resultado alternativo es invalido porque la paginación tiene un fichero de


usuario maestro.

-628 Un elemento del TABLESPACE no puede ser particionado.

-629 Instrucción que no se puede especificar así porque una clave ajena no puede
contener valores nulos.

-631 La clave ajena es muy larga o tiene muchas columnas.

-632 La tabla no puede ser definida ya que depende de la tabla porque fueron
borrados de la regla las restricciones

-633 La regla borrada debe de ser < regla borrada>.

-634 La regla borrada no debe de ser cascada.

-635 La regla borrada no debe de ser diferente o contener nulos.

-636 Las claves de partición no están especificadas en orden ascendente o


descendente.

-637 Palabra clave duplicada.

-638 La tabla no puede ser creada porque la definición de la columna esta perdida.

-639 Una columna nula o una clave extraña con un DELETE por costumbre no puede
ser una columna de una clave particionada.

-644 Hay un valor invalido para la clave para el tipo de estado. (IN)

-646 En la tabla no puede ser creada una PARTICION/TABLESPACE porque este ya esta
contenido en una tabla.

-647 El buffer común no puede ser especificado porque este no ha sido activado.

-652 Violación de la instalación al definir en EDIT o validar el procedimiento.

-653 La tabla en la partición del TABLESPACE no esta disponible porque el índice


particionado no ha sido creado.

-660 El índice no puede ser creado en una partición de TABLESPACE porque la longitud
de la clave no ha sido especificada.

-661 El índice no puede ser creado en una partición de TABLESPACE porque el numero
de partes especificadas no es igual al numero de particiones del TABLESPACE.

-662 Un índice particionado no puede ser creado en un TABLESPACE no particionado.

-663 El numero del valor de la longitud de la clave es siempre 0 o mayor que el


numero de columnas que tiene la clave del índice.

-664 La longitud interna de los campos de la clave para el índice particionado excede
de la longitud impuesta por el índice director.

-665 Parte de la cláusula de un predicado (ALTER) alternativo es omitido o invalido.

-666 El (comando – verbo - objeto) no puede ser ejecutado porque esta siendo
utilizado por otro proceso. Pendiente de una utilidad. Una vez esté COPY PENDING se
soluciona en comandos del DB”:
START DATABASE (BTxxxxxx) SPACENAM (Etxxxxxx) ACCESS (FORCE)

-667 En el CLUSTER indexado para una partición de TABLESPACE no puede hacerse


DROP explícitamente.

-668 La columna no puede ser añadida porque la tabla esta siendo editada por otro
procedimiento.

-669 Una tabla dentro de una partición de TABLESPACE no puede hacerse DROP
explícitamente.
-670 La longitud del registro de la tabla excede los limites del tamaño de la pagina.

-671 El buffer común atribuido al TABLESPACE no puede ser alterado como se


especifica porque esto podría cambiar el tamaño de la pagina o del TABLESPACE.

-676 Una pagina de buffer común de 32K no puede ser utilizado para hacer un índice.

-677 Insuficiente memoria virtual para hacer la expansión del buffer común.

-678 El literal especificado para la clave indexada debe conformar a el tipo de dato o
corresponderse con la columna.

-679 El objeto no puede ser creado porque hay un DROP pendiente.

-680 Hay muchas columnas especificadas para una tabla.

-681 La columna esta cometiendo una violación de la instalación teniendo un campo


que se llama como un procedimiento (RT:RETURN-CODE, RS:REASON-CODE, MSG:
MENSAJE-TOKEN).

-682 El procedimiento no puede ser cargado. La rutina de validación de campo no está


bien cargada.

-683 Columna invalida por el campo procedimiento.

-684 La longitud del literal empezado a listar (cadena) es muy largo

-685 Invalido el tipo del campo, (nombre de columna).

-686 La columna definida con un campo de procedimiento no puede ser comparada


con otra columna con diferente campo de procedimiento.

-687 Tipo de campo incomparable.

-688 Incorrecto tipo de dato retornado desde el campo procedimiento (columna -


nombre, signo).
+802 Error de excepción tipo/excepción ha ocurrido durante la operación tipo
operación/tipo operación sobre el tipo de dato dato/tipo, posición numero
posición/numero.

-802 Error excepcional que ha ocurrido durante la operación sobre el dato posición
(posición - numero). Se ha producido un OVERFLOW o una división por cero.

-803 Los datos que se quieren dar de alta en la inserción ya existen.

-804 Un error fue encontrado en el programa, en los parámetros de entrada para la


sentencia SQL.
- Puede ocurrir al desbordarse una tabla WORKING machacando la SQLDA de DB2.
- Puede ocurrir que se modifica el procedimiento de compilación.
- Con una lectura IMS, si se indica una longitud mayor que la información enviada,
machacándose la SQLCA.
- Se declara una tabla WORKING con menos filas de las necesarias.

-805 Programa no entrado en el plan.


- Puede ser que estemos utilizando una rutina que tenga llamadas a
programas que no tenemos asociados a dicha rutina.
- Se ha dado el caso de utilizar una rutina que teníamos compilada
bien y que teníamos el fuente anterior a la ultima modificación,
donde precisamente se cambio la llamada a otra rutina diferente,
que no estaba asociada al plan que teníamos generado.

Al ejecutar un programa no se ha encontrado dicho programa en el plan de aplicación.


si el plan es una colección de paquetes, el error se produce cuando ese paquete (el
especificado) no esta en la colección.

-806 El plan no corresponde al programa.

-811 El resultado de una SELECT en una tabla da más de una fila que cumple
la condición de búsqueda. Poner la clave completa para hacer el acceso.
También puede ser que estemos accediendo a una tabla de la cual haya mas
de un creador y no estemos especificando con cual de ellos queremos
trabajar. Poner por delante de la tabla el usuario creador y volver a submitir
el JOB.
Ejemplo: SELECT * FROM deidg2.contbach_plazo
-815 Un grupo por una cláusula implícita o explícita especificada en un comando
EMBEDDED SELECT o SUBQUERY de un predicado básico.
Al ejecutar una SELECT se ha encontrado con un GROUP BY y solo puede ir con
cursores. En QMF lo acepta, pero por programa no.

-817 El INSERT, UPDATE, DELETE, no puede ser ejecutado porque la transacción solo
pregunta al IMS/VS.

-818 El precompilador ha generado una LOAD con un modulo diferente del BIND en el
parámetro de tiempo, por lo que no es valido al construir el plan con el DBRM. Es
posible que no este puesta la librería en las líneas donde se especifica el programa y el
plan del mismo, esto debe ser especificado en algunas instalaciones aun en el caso de
tener el paso de STEPLIB.
Compilar nuevamente el programa.
Al no coincidir el cargable Y EL BIND del programa suele ocurrir que falte hacer el
BIND.

-819 La vista no puede ser procesada porque hay referencias que impiden hacerlo.

-820 El SQL no puede ser procesado porque la tabla del catalogo contiene un valor que
no es valido en esta versión.

-821 La vista ha sido borrada durante una migración. El creador del sinónimo
no puede ser resuelto.

-822 La SQLDA contiene un dato invalido de dirección o un indicador de la dirección de


una variable.

-840 Hay muchos campos para devolver en la instrucción RETURN, INSERT o SELECT.

-878 No se ha puesto el parámetro REGION en el JCL.

-901 Ejecución fallida por un error del sistema que no excluye la ejecución con éxito de
la subsecuencia SQL de instrucciones. Error al recuperar INDEX.

-902 Ejecución fallida por un error del sistema que no excluye la ejecución con éxito de
la subsecuencia SQL de instrucciones.
También puede producirse porque al hacer el BIND de algunos de los módulos que
utiliza el programa no se ha incluido a los módulos que llama el propio modulo.

-904 Ejecución fallida por no tener todos lo recursos que utiliza el programa, puede ser
posiblemente tener algún recurso migrado teniendo que hacer la recuperación del
mismo. Puede ser que haya un COPY PENDING. También puede producirse porque la
tabla este llena.
- Si ‘REASON 00C200F6’: reintentar, algo migrado o pillado…
- Si ‘REASON 00C90081’: al hacer una LOAD (si da error) se puede quedar la tabla con
disposición de COPY (no deja acceder); se puede solucionar desde la opción de
comandos del DB2:
START DATABASE (BTxxxxxx) SPACENAM (Etxxxxxx) ACCESS (FORCE) el SPACENAM
es el espacio para tablas de la que se quedó colgada.
- Si ‘REASON 00C90088’: Contención (DEADLOCK) El proceso está esperando un
recurso que esta utilizando otro proceso y a su vez este esta esperando el recurso que
el primer proceso esta utilizando.
- Si ‘REASON 00C90089’: Algo no disponible, puede haber un disco dañado.
- SI ‘REASON 00C9008E’: Contención (TIME-OUT). El objeto DB2 esta siendo utilizado
por otro proceso. Su proceso ha estado esperando hasta el tiempo límite y luego ha
sido cancelado.
- Si ‘REASON 00C90094’: Al intentar borrar de una tabla porque ha sido creada con
VSAM y el catálogo del DB2 no se ha enterado, hacer un DROP de la tabla y volverla a
crear.
- Si ‘REASON 00C90097’: Pendiente de una utilidad.
- Si ‘REASON 00D70014’: Un fichero ha intentado extenderse y no existe espacio en
disco. Un fichero ha tomado el máximo número de extensiones (119) y al intentar
coger una más ha provocado el error. (El espacio primario ha sido definido muy
pequeño).
- Si ‘REASON 00D70023’: Falta de espacio.
- SI ‘REASON 00D70024’: Existe en el catálogo pero no los ficheros, hacer un DROP del
espacio tabla o del índice y volver a crearlos.

-905 La sentencia SQL contra el recurso ha excedido el tiempo límite de CPU y su


proceso ha sido cancelado. El programa puede seguir ejecutando otras sentencias SQL.
Intentar simplificar la sentencia SQL, estudiar posibles índices.

-906 El comando del SQL no puede ser ejecutado porque esta función esta desechada
debido a un error prioritario.
-907 No es posible determinar si las actualizaciones del COMMIT hechas desde el
remoto han sido correctas o no.

-908 El BIND está mal. Hay que volver a ejecutarlo.

-909 El objeto ha sido borrado.

-910 La sentencia SQL no puede acceder a un objeto sobre el que está pendiente una
sentencias DROP o ALTER.

-911 La unidad de trabajo ha sido ROLLBACK y se encuentra en punto muerto o fuera


del tiempo. Razón código de retorno, tipo y nombre de recurso.
Es posible que se este utilizando una vista, o un sinónimo encontrándose la tabla
bloqueada por otro programa o aplicación que no permite la actualización de momento,
lo que origina este código de error.
Se ha producido un DEADLOCK.
Volver a ejecutar, si la frecuencia de este SQLCODE es alta, estudiar la posibilidad de
hacer varios puntos de COMMIT.

-913 La ejecución no ha salido bien porque el JCL ha tardado mucho tiempo en


ejecutarse o porque la librería esta en contención.
Se ha producido un DEADLOCK o un TIMEOUT. El programa debería hacer COMMIT o
ROLLBACK, volver a ejecutar, si la frecuencia de este SQLCODE es alta, estudiar la
posibilidad de hacer varios puntos de COMMIT.

-922 Fallo de la unión entre los diferentes módulos del programa, no se ha realizado
bien el BIND.
No se ha hecho una autorización PUBLIC en los programas del DB2.
También se puede producir cuando falta de hacer el GRAND BIND o GRAND EXECUTE
del plan.
También se puede producir al ejecutar un PGM BATCH y en el JCL se pone el
parámetro ssm=0001 con un valor incorrecto (indica que sistema DB2 se esta
utilizando). El plan es invalido o no esta operativo, hacer el bind.

-923 Fallo de los módulos del programa (puede faltar uno) posible falta de db2 en la
maquina. Volver a compilar el programa, comprobando lo que estamos haciendo por el
entorno adecuado, y generar el BIND al acabar bien la compilación.
La conexión no esta establecida. También puede producirse cuando lanzamos una
petición de un programa db2 (que pase por el ordenador de oficinas - real), y no tiene
el plan de aplicación para dicho ordenador.

-924 Error en la conexión interna de db2, (código de retorno, no controlado).


Es posible que el programa este siendo compilado por un entorno y siendo ejecutado
por otro diferente.
Por ejemplo compilado por un JCL normal y queriendo ser ejecutado por la
arquitectura, lo que en el momento de acceder a la tabla provoca que no pueda
hacerlo y de este error.
Controlar el SQLCODE que nos devuelve el programa.

-925 COMIT no valido en IMS, o CICS, OS, VS.

-926 ROLLBACK no valido en IMS, o CICS, OS, VS.

-927 La INTERFEIS de lenguaje fue llamada cuando los medios de conexión no estaban
establecidos. El programa debería haber sido invocado bajo DSN.
Se intenta acceder a db2 y la conexión no se puede realizar (llamar a bases de datos).
También puede producirse cuando se realiza en el programa una llamada al db2 y se
ha compilado el programa incorrectamente, por lo que se debe revisar la compilación.

-1010 (EN MICROFOCUS) Falta de memoria.

-1045 (EN MICROFOCUS) Un campo del registro tratado no esta en el formato que le
corresponde. EL error se produce cuando se compara con su igual en la tabla DB2 de
trabajo.

-1084 (EN MICROFOCUS) Error de escritura en la sentencia DB2.

-1206 (EN MICROFOCUS) En una UPDATE hay un campo que no es de la tabla.

-1408 (EN MICROFOCUS) La tabla DB2 poseía un campo definido como TIMESTAMP y
-1451 daba problemas al intentar realizar una consulta al moverle
-14..(OTROS) LOW-VALUES a ese campo- También se obtuvieron al intentar insertar
en la tabla ya que la INSERT no tiene que llevar VALUE de ese campo y en el INTO han
de nombrarse todos los campos excepto el campo TIMESTAMP.
ERROES DE COMPILACION

878 Falta de memoria, será necesario poner un numero mayor en el parámetro región
del JCL o ponerlo si no existe.

Si al hacer un BIND nos sale un código de retorno 08 en el paso es muy posible que el
plan y el programa estén asociados a un usuario determinado, y nos diga que nos falta
autorización únicamente, sin mas mensajes.

Вам также может понравиться