Notes de version Sun Java System Application Server Enterprise Edition 8.1 2005Q2

Pilotes Sun JDBC intégrés

Cette section décrit les problèmes connus du pilote Sun JDBC intégré et les solutions associées.

ID du bogue 

Résumé 

6165970 

Les applications utilisant le niveau d'isolement TRANSACTION_SERIALIZABLE avec le pilote Sun intégré de Microsoft SQL Server risquent de s'interrompre lors de l'utilisation d'une instruction préparée pour la mise à jour si deux transactions parallèles sont en cours d'exécution et que l'une d'entre elles est annulée.

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. Pour obtenir plus d'informations sur la configuration des pools de connexions, reportez-vous au manuel Administration Guide. 

Solution

Aucune pour l'instant. 

6170432 

Erreurs PreparedStatement.

Description #1

Si une application génère plus de 3000 objets PreparedStatement au cours d'une transaction, l'erreur suivante peut se produire avec DB2 :

[sunm][DB2 JDBC Driver] No more available statements.Please recreate your package with a larger dynamicSections value.

Solution #1

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

Pour obtenir plus de détails sur la configuration des pools de connexions, reportez-vous au manuel Administration Guide.

Description #2

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.

Solution #2

Augmentez la valeur du paramètre de configuration APPLHEAPSZ pour le serveur DB2. 4096 constitue une valeur correcte.

Description #3

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.

Solution #3

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. Pour obtenir des instructions, reportez-vous au manuel Administration Guide.

6189199 

Problèmes rencontrés lors du paramétrage du niveau d'isolement à l'aide du pilote Sun intégré pour Sybase Adaptive Server 

  • Les applications utilisant le niveau d'isolement TRANSACTION_SERIALIZABLE avec le pilote Sun intégré pour Sybase Adaptive Server peuvent s'interrompre lors de l'utilisation d'une instruction préparée pour la mise à jour si deux transactions parallèles sont en cours d'exécution et que l'une d'entre elles est annulée. L'annulation de la connexion échoue avec le message ci-dessous et les connexions annulées ne peuvent plus être utilisées :

    java.sql.SQLException: [sunm][Sybase JDBC Driver]Request cannot be submitted due to wire contention

  • Sybase Adaptive Server ne prend pas en charge le niveau d'isolement TRANSACTION_REPEATABLE_READ. Cependant, lors de l'interrogation de DatabaseMetaData, le pilote Sun intégré indique que ce niveau d'isolement est pris en charge par la base de données. Les applications utilisant ce niveau d'isolement vont échouer.

  • Les applications utilisant le pilote Sun intégré ne peuvent pas définir le niveau d'isolement TRANSACTION_READ_UNCOMMITTED. L'application génère l'exception suivante lors du premier accès à DataBaseMetaData :

    java.sql.SQLException: [sunm][Sybase JDBC Driver][Sybase]The optimizer could not find a unique index which it could use to perform an isolation level 0 scan on table 'sybsystemprocs.dbo.spt_server_info'.

Solution

Aucune pour l'instant. 

6247468 

Sous Solaris 10 et Enterprise Linux 3.0, le pilote intégré JDBC Sun pour Oracle ne permet pas la création d'une connexion. 

Solution

Définissez la propriété ci-dessous dans le pool de connexions JDBC lors de l'utilisation de la source de données Oracle SUN JDBC (com.sun.sql.jdbcx.oracle.OracleDataSource):

<property name="serverType" value="dedicated"/>

La valeur de la propriété dépend de la configuration du listener du serveur Oracle. Si le listener est configuré en mode partagé, la valeur "partagé" qui doit alors s'afficher dans l'exemple ci-dessus doit être remplacée par la valeur "dedicated". 

6554602 

Le démarrage avec les pilotes JDBC 10.2 , comprenant plusieurs fichiers jar JDBC dans CLASSPATH, peut entraîner une exception java.lang.SecurityException: Sealing violation exception.

Pour de plus amples informations, reportez-vous à l'ID du document Oracle suivant : 

Remarque : 405446
Objet : Le pilote JDBC 10.2 utilise les fichiers JAR verrouillés et peut entraîner une 
violation de verrouillage pour l'exception de sécurité

Solution

(conseillé par Oracle) Assurez-vous que CLASSPATH ne comprend qu'un seul fichier JAR pour le pilote JDBC.