Cette section décrit les problèmes connus du pilote Sun JDBC intégré et les solutions associées.
Si une application génère plus de 3000 objets PreparedStatement dans une transaction, l'erreur suivante peut se produire avec DB2 :
[sunm][DB2 JDBC Driver] Plus d'instruction disponible. Veuillez recréer votre package avec une valeur dynamicSections supérieure.
Ajoutez les propriétés suivantes à la définition de pool de connexions afin que le pilote puisse rééditer les liens des packages DB2 avec une valeur dynamicSections supérieure :
createDefaultPackage=true replacePackage=true dynamicSections=1000
En liaison avec l'erreur PrepardStatement mentionnée ci-dessus, le message d'erreur suivant peut également être généré :
[sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available.
Augmentez la valeur du paramètre de configuration APPLHEAPSZ pour le serveur DB2. 4096 constitue une valeur correcte.
Niveau d'isolement TRANSACTION_SERIALIZABLE. Si votre application utilise le niveau d'isolement TRANSACTION_SERIALIZABLE avec l'un des paramètres indiqués ci-dessus, elle peut rester bloquée en tentant d'obtenir la connexion.
Pour définir le niveau d'isolement d'une connexion, le pool de connexions correspondant doit être créé sur le même niveau d'isolement.
La base de données Java DB intégrée n'est pas automatiquement redémarrée après le redémarrage d'un système hôte ou d'une zone Solaris, ou le démarrage d'Communications Server. Il ne s'agit pas d'un bogue mais du comportement attendu pour toute application tiers ou intégrée. Le problème réside dans le fait que Java DB doit être démarrée avant l'instance d'Communications Server.
Après le redémarrage de la machine hôte ou de la zone Solaris, assurez-vous de démarrer Java DB avant Communications Server ; par exemple :
/opt/SUNWappserver/appserver/bin/asadmin start-database |