Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se describen errores comunes y errores de codificación que pueden producirse al trabajar con la característica estática SQL para paquetes DB2 en proveedor de Microsoft ADO.NET para DB2 (proveedor de datos).
Errores comunes
En la tabla siguiente se describen los errores de servidor DB2 que pueden producirse junto con las acciones que debe realizar para corregirlos.
SQLCODE | Acción |
---|---|
SQLCODE -104 (instrucción no válida) | - Validar y buscar coincidencias de datos con el esquema de la base de datos. : compruebe que los elementos de comando coinciden con el esquema del paquete. |
SQLCODE -204 (objeto no encontrado) | Compruebe que los nombres de objeto calificados (de cuatro partes o alias). |
SQLCODE -440 (parámetros incorrectos) | Compruebe que los elementos de comando coinciden con el esquema del paquete. |
SQLCODE -501 (cursor no abierto) | Compruebe que el comando incluye CALL STATIC. |
SQLCODE -551 (privilegios insuficientes) | Compruebe que se han establecido los privilegios para CREAR, ENLAZAR y EJECUTAR paquetes. |
SQLCODE -601 (nombre de objeto no único) | Compruebe la unicidad de la convención de nomenclatura. |
Errores comunes de codificación
En la tabla siguiente se describen los errores de codificación comunes por área de características.
Ámbito | Descripción |
---|---|
Documento XML | : cada parámetro de entrada requiere un elemento de parámetro. Cada columna de salida requiere un elemento de columna. - Los nombres de cursor deben ser únicos dentro de un paquete. - Los elementos no están cerrados correctamente o no coinciden. |
Nivel de aislamiento de DB2 para IBM i | En HIS 2010, el nivel de aislamiento admitido es No Commit (NC), que debe especificarse en el documento XML como "IsolationLevel="NoCommit. |
Superposición de procedimiento almacenado y alias | - Se producirá un error en la creación del paquete cuando el nombre del paquete, el número de sección o el alias del paquete no sea único. - Si la creación del paquete se realiza correctamente, pero el nombre del alias es el mismo que un nombre de procedimiento almacenado, puede producirse un error en tiempo de ejecución (por ejemplo, SQLCODE -440 para parámetros no válidos). Como alternativa, el servidor DB2 puede devolver un conjunto de resultados inesperado. |
Sin nombre de alias | - Si el archivo de metadatos no contiene un nombre de alias, el cliente de Microsoft ejecuta la instrucción como un procedimiento almacenado. - Si existe un procedimiento almacenado con el mismo nombre, se ejecutará el procedimiento almacenado y el programa puede experimentar resultados inesperados. - Si no hay ningún procedimiento almacenado con el mismo nombre, el servidor de bases de datos devolverá un error que indica que el nombre del objeto no está definido (SQLCODE -204). |