Relations EJBDEPLOY - Conseils de résolution des incidents
Ces informations permettent d'identifier et de résoudre les incidents EJBDEPLOY.
![[z/OS]](../images/ngzos.gif)
DB2 pour z/OS Version 7.x
DSNT408I SQLCODE = -613, ERREUR : LA PREMIERE CLE OU UNE CONTRAINTE D'UNICITE EST TROP LONGUE OU POSSEDE TROP DE COLONNES DSNT418I SQLSTATE = CODE RETOUR SQLSTATE 54008Ce problème peut être constaté lorsque les clés primaires créées pour les deux beans liés possèdent des clés primaires qui sont des chaînes. Ceci résulte en un composite composé de 2 clés primaires varchar(250) pour un total de 500, ce qui est supérieur à la limite fixée à 254 dans DB2 pour z/OS version 7.x.
- Les mappages descendants sont des instructions qui doivent être vérifiées avec le DBA.
- Les 'descendants' créés par des schémas EJBDeploy sont uniquement conçus pour des tests, et comme instruction pour le schéma réel requis. L'utilisation du mappage 'avec rapprochement à mi-parcours' ne présente pas cet inconvénient.
- La contrainte liée aux clés composées n'existe pas lorsque DB2 V8 est utilisé, car il possède des clés d'une longueur maximale de 2K.
EJBDEPLOY_JVM_ARGS :
Indiquez la propriété EJBDEPLOY_JVM_ARGS afin de remplacer les options de la machine virtuelle Java transmises au code qui déploie les EJB (ejbdeploy.sh). Définissez cette propriété dans l'un des emplacements suivants : deploymentmanager/bin/setupCmdLine.sh ou appServerHome/bin/setupCmdLine.sh
Par exemple, la commande suivante indique qu'un élément SQL non qualifié doit être généré :
export EJBDEPLOY_JVM_ARGS="-DEJBDEPLOY_GENERATE_UNQUALIFIED_SQL=true"
Le convertisseur défini pour la clé primaire n'est pas appelé à l'aide de la valeur de sa clé externe
Le mappage des zones de clés primaires vers des colonnes de base de données peut utiliser un convertisseur pour transformer les valeurs de clés. Si un bean de persistance gérée par conteneur (CMP) utilise un convertisseur pour mapper sa clé primaire, et que ce bean possède une relation dans laquelle le bean qui se trouve à l'autre extrémité contient une clé externe, le mappage de la clé externe n'utilisera pas le convertisseur.
Aucun mappage de type défini pour Java datatype1 vers Database datatype2Pendant l'exécution, l'application ne trouve pas le bean CMP à l'autre extrémité de la relation.
Pour contourner cette limitation, définissez votre propre clé externe dans la table d'une base de données, et créez un mappage qui utilise le même convertisseur que celui de la clé primaire des beans enterprise situés à l'autre extrémité de sa relation.