Limitaciones de características de funciones definidas por el usuario y procedimientos almacenados

Este tema describe las limitaciones actuales de los procedimientos almacenados y funciones definidas por el usuario del entorno de trabajo.

Limitaciones para la utilización de tipos de datos de DB2 en rutinas

DB2 no da soporte completo a los procedimientos almacenados y las UDF que contienen tipos distintos (tipos definidos por el usuario) como parámetros.

Los tipos de datos XML no están soportados como parámetros para procedimientos almacenados de DB2 para z/OS.

Limitación para el despliegue de procedimientos almacenados Java cuando el destino es DB2 para Linux, UNIX y Windows Versión 8.1

No se da soporte al despliegue de procedimientos almacenados Java que utilizan el controlador universal y se dirigen a DB2 para Linux, UNIX y Windows Versión 8.1.

Limitación y requisitos previos para crear y ejecutar procedimientos almacenados Java cuando el destino es un servidor DB2 z/OS

Limitación para importar un procedimiento almacenado Java del sistema de archivos y desplegarlo en la base de datos de destino.

Después de importar un procedimiento almacenado Java del sistema de archivos y desplegarlo satisfactoriamente en la base de datos de destino, es posible que la ejecución del procedimiento almacenado no se realice correctamente. El nombre del método puede entrar en conflicto con un nombre de método existente en el entorno en el que se está ejecutando el procedimiento almacenado.

Debe asegurarse de que la clase de implementación del procedimiento almacenado se identifica exclusivamente incluyéndola en un paquete. Inserte una sentencia package en el fuente Java e importe el procedimiento almacenado al proyecto de desarrollo. Asegúrese también de que el método de implementación del procedimiento almacenado tiene un nombre exclusivo. Para ello, modifique el nombre del método en el fuente Java antes de importarlo al proyecto de desarrollo.

Limitación cuando se especifica la opción de vinculación ACTION(REPLACE)

Cuando se crea un procedimiento almacenado SQLJ utilizando el controlador JDBC de DB2, se pueden producir errores de compilación con la opción de vinculación ACTION(REPLACE). Este error se puede producir en los releases DB2 UBD para Linux, UNIX y Windows Versión 8 Fixpak 5 o anteriores cuando un procedimiento almacenado se conecta a un servidor con la versión 8 de DB2 UDB para Linux, UNIX y Windows o con la versión 8 de DB2 UDB para z/OS. Al compilar el procedimiento SQLJ, el mandato DB2SQLJCUSTOMIZE puede emitir la siguiente excepción:
java.sql.SQLException: invalid options string
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:1018)
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:775)
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:432)
	at com.ibm.db2.jcc.sqlj.Binder.bindMain(Binder.java:338)
	at com.ibm.db2.jcc.sqlj.Customizer.customizeMain(Customizer.java:810)
	at com.ibm.db2.jcc.sqlj.Customizer.main(Customizer.java:272)

Este problema está solucionado en la versión 8 de DB2 UDB para Linux, UNIX y Windows con el Fixpak 6. Para evitar este error, especifique el resto de opciones de vinculación después de la opción ACTION(REPLACE). Por ejemplo, utilice ACTION(REPLACE) BLOCKING(ALL) en vez de BLOCKING(ALL) ACTION(REPLACE).

Para evitar este error si sólo se utiliza la opción ACTION(REPLACE), el nivel de validación por omisión para vincular un paquete a un servidor remoto se añadirá automáticamente de la siguiente manera: ACTION(REPLACE) VALIDATE(BIND).

Información relacionada
Tipos de datos de PL/SQL y Oracle no compatibles con el entorno de trabajo
Limitaciones del depurador de rutinas
Tipos de datos de PL/SQL y Oracle no compatibles con el depurador de rutinas

Comentarios