Limites des fonctionnalités liées aux procédures mémorisées et aux fonctions définies par l'utilisateur du plan de travail

Cette rubrique décrit les limites actuelles des fonctionnalités de procédures mémorisées et de fonctions définies par l'utilisateur du plan de travail.

Limites relatives à l'utilisation des types de données DB2 dans les routines

DB2 ne prend pas totalement en charge les procédures mémorisées et les fonctions UDF utilisant différents types (définis par l'utilisateur) comme paramètres.

Les types de données XML ne sont pas pris en charge en tant que paramètres pour les procédures mémorisées DB2 for z/OS.

Limites relatives au déploiement de procédures mémorisées Java lors du ciblage de DB2 for Linux, UNIX, and Windows version 8.1

Le déploiement de procédures mémorisées Java avec Universal Driver, ciblant DB2 for Linux, UNIX and Windows version 8.1 n'est pas pris en charge.

Limites et conditions requises pour la génération et l'exécution de procédures mémorisées Java lors du ciblage d'un serveur DB2 z/OS

Limites relatives à l'importation d'une procédure mémorisée Java à partir du système de fichiers et de son déploiement sur une base de données cible

Une fois une procédure mémorisée Java importée à partir du système de fichiers et correctement déployée sur la base de données cible, il est possible que son exécution échoue. Le nom de méthode peut être en conflit avec le nom d'une méthode existant déjà dans l'environnement d'exécution de la procédure mémorisée.

Vous devez vérifier que la classe d'implémentation de la procédure mémorisée est identifiée de façon unique en l'incluant dans un module. Insérez une instruction de module dans le code source Java et importez la procédure mémorisée dans le projet de développement. Vérifiez également que le nom de la méthode d'implémentation de la procédure mémorisée est unique. Pour cela, modifiez le nom de la méthode dans le code source Java avant de l'importer dans le projet de développement.

Limites relative à la spécification de l'option de définition d'accès ACTION(REPLACE)

Lorsque vous générez une procédure mémorisée SQLJ en utilisant le pilote JDBC DB2 Universal, une erreur de génération concernant l'option de définition d'accès ACTION(REPLACE) peut survenir. Cette erreur peut se produire sur DB2 UDB for Linux, UNIX and Windows version 8 (avec groupe de correctifs 5) ou antérieure lorsqu'une procédure mémorisée se connecte à un serveur sur DB2 UDB for Linux, UNIX and Windows version 8 ou DB2 UDB for z/OS version 8. Lors de la génération de la procédure SQLJ, la commande DB2SQLJCUSTOMIZE peut renvoyer l'exception suivante :
java.sql.SQLException : chaîne d'options non valide
	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)

Cet incident est résolu dans DB2 UDB for Linux, UNIX and Windows version 8 (avec groupe de correctifs 6). Pour éviter cette erreur, spécifiez toutes les autres options de définition d'accès après l'option ACTION(REPLACE). Par exemple, utilisez ACTION(REPLACE) BLOCKING(ALL) au lieu de BLOCKING(ALL) ACTION(REPLACE).

Pour éviter cette erreur si vous n'utilisez que l'option ACTION(REPLACE), le niveau de validation par défaut pour la liaison d'un module à un serveur distant est automatiquement ajouté, comme suit : ACTION(REPLACE) VALIDATE(BIND).

Information associée
Types de données PL/SQL et Oracle non pris en charge par le plan de travail
Limites du débogueur de routines
Types de données PL/SQL et Oracle non pris en charge par le débogueur de routines

Commentaires