Limites des fonctionnalités de procédures mémorisées et de fonctions UDF du plan de travail

Cette rubrique décrit les limites actuelles des fonctionnalités de procédures mémorisées et de fonctions UDF du plan de travail.

Limites et conditions requises de la création et l'exécution de procédures mémorisées Java ciblant un serveur DB2 z/OS v8

Limites de 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 et l'incluant dans un package. Insérez une instruction de package 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 a un nom 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 de définition de l'option de liaison 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 liaison ACTION(REPLACE) peut être rencontrée. Cette erreur peut se produire sur DB2 UDB pour Linux, UNIX et Windows version 8 Fixpak 5 ou une version antérieure lorsqu'une procédure mémorisée se connecte à un serveur sur DB2 UDB pour Linux, UNIX etWindows version 8 ou DB2 UDB pour 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 pour Linux, UNIX etWindows version 8 Fixpak 6. Pour éviter cette erreur, spécifiez toutes les autres options de liaison 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 package à un serveur distant sera automatiquement ajouté, comme suit : ACTION(REPLACE) VALIDATE(BIND).


Commentaires