Conditions préalables concernant le pilote. Novell Pilote DirXML pour JDBC
Novell Confidential Manual (FRA) 28 October 2003
2
Conditions préalables applicables au pilote
Les sections suivantes contiennent des informations importantes à consulter avant d’installer et de configurer le pilote.
« Conditions préalables concernant le pilote », page 19
« Plates-formes prises en charge », page 19
« Bases de données prises en charge », page 19
« Pilotes JDBC de fabricants tiers recommandés », page 20
« Utilisation du pilote de pont JDBC-ODBC de Sun », page 21
Conditions préalables concernant le pilote
Le pilote DirXML
®
pour JDBC exige les éléments suivants :
Novell Nsure
TM
Identity Manager 2
Machine virtuelle Java (JVM*) 1.2 ou version ultérieure
Un pilote JDBC d’un fabricant tiers
Plates-formes prises en charge
Le pilote s’exécute sur toutes les plates-formes dotées de fonctions Identity Manager, dont
Windows* NT*/2000, NetWare
®
, Solaris* et Linux*.
Bases de données prises en charge
Le pilote utilise l’API JDBC 1.0 pour exécuter des instructions SQL et extraire des métadonnées d’une base de données. À ce titre, une base de données doit être accessible à JDBC. Les bases de données suivantes ont été testées et sont recommandées pour une utilisation avec ce produit :
Base de données
IBM* DB2 Universal Database (UDB)
Microsoft* SQL Server 2000
Microsoft SQL Server 7
Version
7.2 ou version ultérieure
Service Pack 2 ou version ultérieure
Service Pack 4
Conditions préalables applicables au pilote
19
Novell Confidential Manual (FRA) 28 October 2003
Base de données
Oracle 8i
Oracle 9i
Sybase* Adaptive Server Enterprise (ASE)
MySQL*
Informix* Dynamic Server (IDS)
Version
version 3 (8.1.7) version 2 (9.2.0.1) ou ultérieure
12.5 ou version ultérieure
3.23
9.30 ou version ultérieure
Vous pouvez utiliser d’autres bases de données, à condition qu’elles répondent aux conditions minimales requises suivantes :
Prise en charge de la grammaire de premier niveau SQL-92.
Prise en charge des déclencheurs ou d’une fonctionnalité d’audit permettant la capture et la réplication d’événements (sur le canal Éditeur uniquement).
Pilotes JDBC de fabricants tiers recommandés
Nous vous recommandons d’utiliser des pilotes JDBC tiers de type 3 ou 4, chaque fois que c’est possible. Nous vous recommandons aussi d’utiliser les dernières versions de ces pilotes. Si vous choisissez d’utiliser un pilote de type 1 ou de type 2, vous devez utiliser le chargeur distant pour garantir l’intégrité du processus d’annuaire.
Les pilotes tiers suivants ont été testés et sont recommandés pour une utilisation avec le pilote
DirXML pour JDBC :
Nom du pilote
Pilote JDBC Oracle 8i
Version
8.1.7.1
Pilote JDBC Oracle 9i 9.2.0.1 ou version ultérieure
Pilote jDriver de type 4 BEA* Weblogic* pour Microsoft SQL Server 7/2000
5.1.0, Service Pack 11 ou version ultérieure
Pilote JDBC jConnect Sybase 5.5 ou version ultérieure
2.2 ou version ultérieure Pilote Microsoft SQL Server 2000 pour
JDBC
Pilote JDBC Informix
MySQL Connector/J
Pilote JDBC de type 3 IBM pour DB2
UDB
9.3 ou version ultérieure
2.0.14 ou version ultérieure
7.2 ou version ultérieure
Les pilotes JDBC tiers suivants ont été testés, mais ne sont pas recommandés pour une utilisation avec ce produit :
Pilote de pont JDBC-ODBC de type 1 Sun (JRE 1.2)
Nous vous conseillons vivement d’utiliser les pilotes tiers recommandés dans la mesure du possible.
20
DirXML Driver for JDBC Implementation Guide (Guide d’implémentation du pilote DirXML pour JDBC)
Novell Confidential Manual (FRA) 28 October 2003
Conditions minimales requises pour les pilotes JDBC de fabricants tiers
Il se peut que le pilote ne fonctionne pas avec tous les pilotes de fabricants tiers. Si vous choisissez d’utiliser un autre pilote de fabricant tiers, celui-ci doit répondre aux conditions suivantes pour fonctionner avec le pilote DirXML pour JDBC :
Prise en charge des méthodes de métadonnées requises.
Pour obtenir la dernière liste des appels de méthode java.sql.DatabaseMetaData obligatoires et facultatifs effectués par le pilote, reportez-vous à l’
les versions ultérieures. Toutes les méthodes java.sql.DatabaseMetaData en tant que telles doivent être prises en charge. Si le pilote tiers ne remplit pas ces conditions, il pourra être nécessaire d’en acquérir un autre par la suite.
Renvoi de données précises des instructions de sélection.
Exécution correcte des instructions d’insertion, de mise à jour et de suppression émises par le pilote.
Pour obtenir une liste des méthodes JDBC utilisées par le pilote, reportez-vous à l’
« Méthodes JDBC 1.0 », page 93
. Consultée parallèlement à la documentation des pilotes de fabricants tiers, cette liste peut permettre d’identifier d’éventuelles incompatibilités.
Considérations relatives à l’utilisation d’autres pilotes JDBC de fabricants tiers
Comme le pilote dépend des pilotes de fabricants tiers, tout bogue survenant dans ces pilotes est susceptible d’empêcher le bon fonctionnement du pilote. Pour vous aider à déboguer les pilotes de fabricants tiers, la sortie de trace du pilote a été améliorée pour inclure des messages de trace JDBC de niveau API (niveau 5) et de pilote de fabricants tiers (niveau 6).
La prise en charge des procédures ou fonctions stockées et les capacités de connexion
(en particulier, la reconnexion) sont des sources d’échec possibles.
Utilisation du pilote de pont JDBC-ODBC de Sun
En raison de l’instabilité accrue liée à l’utilisation d’un pilote ODBC et des problèmes connus posés par le pilote de pont JDBC-ODBC du JRE (Java Runtime Environment - Environnement d’exécution Java) 1.3.x , nous vous recommandons vivement d’utiliser un pilote JDBC pur Java
(type 3 ou 4) lorsque cela est possible. Si vous choisissez d’utiliser un pilote de type 1 ou de type 2, vous devez utiliser le chargeur distant pour garantir l’intégrité du processus d’annuaire.
Le principal inconvénient à utiliser un pilote de pont JDBC de type 1 et un pilote ODBC natif est une plus grande instabilité. Des erreurs dans les bibliothèques natives importées du pilote ODBC par l’intermédiaire du pont JDBC risquent de mettre l’annuaire hors service.
Il se peut que le pilote et le pilote de pont JDBC-ODBC ne fonctionnent pas avec tous les pilotes
ODBC de fabricants tiers. La liste des conditions requises pour les pilotes JDBC de fabricants tiers s’applique également aux pilotes ODBC. Pour plus de détails, reportez-vous à
« Pilotes JDBC de fabricants tiers recommandés », page 20
.
Si vous optez pour le pilote ODBC de Microsoft pour SQL Server (SQLSRV32.DLL), nous vous recommandons d’installer la dernière version de Microsoft Data Access Components
(MDAC). Vous pouvez télécharger gratuitement MDAC sur le site Web de Microsoft.
(http://www.microsoft.com/data/download.htm) .
Conditions préalables applicables au pilote
21
Novell Confidential Manual (FRA) 28 October 2003
Le pilote de pont compris dans l’environnement JRE 1.3.x contient un défaut connu relatif aux paramètres de procédure stockée IN OUT. L’appel d’une procédure stockée avec des paramètres IN OUT se traduit par une violation de l’accès à la mémoire et par la mise hors service de l’annuaire. Pour éviter ce problème, il est recommandé d’utiliser la version 1.2.x du JRE avec Identity Manager. Cette solution a néanmoins pour effet de réduire les performances de tous les pilotes exécutés sur le serveur. Identity Manager prend en charge uniquement l’utilisation de Hotspot avec JRE version 1.3.x ou ultérieure. JRE version 1.4.x
JRE n’a pas encore été testé avec le pilote.
Sécurité
Pour garantir l’établissement d’une connexion sûre entre le pilote et un pilote tiers, nous vous recommandons d’exécuter le pilote à distance.
Quand il n’est pas possible d’exécuter le pilote à distance, vous souhaiterez peut-être utiliser un pilote JDBC de type 2 ou 3. Ces types de pilote offrent souvent un plus haut niveau de sécurité via des serveurs d’applications intermédiaires ou des interfaces de programmation clientes que les autres types de pilote JDBC.
Problèmes connus
Cette section répertorie les problèmes connus du pilote.
Généralités
Certaines bases de données, telles que Sybase et DB2, ont des formats d’horodatage propriétaire qui ne peuvent pas être analysés par la classe java.sql.Timestamp.
Lors de la synchronisation des colonnes d’horodatage issues de ces bases de données, les valeurs d’horodatage placées dans la table de consignation des événements doivent être au format réglementaire ODBC (c’est-à-dire, aaaa-mm-jj hh:mm:ss.fffffffff). Une alternative consiste à convertir ces valeurs au format réglementaire ODBC via des feuilles de style.
Cependant, lorsque les horodatages sont utilisés comme clés primaires, les valeurs d’horodatage doivent être placées dans la table de consignation des événements au format réglementaire ODBC. Les valeurs d’horodatage peuvent être reformatées dans la base de données à l’aide d’un langage de programmation général, tel que Java, ou le langage de programmation SQL natif de la base de données.
Quand les syntaxes du temps et de l’horodatage d’eDirectory sont interprétées comme des nombres entiers avec signes, elles ne peuvent stocker de dates antérieures au 1er janvier 1902 ou postérieures au 1er janvier 2038.
IBM DB2
Après avoir appliqué un kit de mise à jour IBM à votre serveur DB2, vous devez utiliser le fichier db2java.zip mis à jour sur le serveur de base de données sur lequel le pilote est installé.
Sinon, vous risquez de recevoir des erreurs de connexion, du type « CLI0601E Invalid statement handle or statement is closed. » (CLI0601E Identificateur d’instruction non valide ou instruction fermée)
22
DirXML Driver for JDBC Implementation Guide (Guide d’implémentation du pilote DirXML pour JDBC)
Novell Confidential Manual (FRA) 28 October 2003
Pont JDBC-ODBC
Le pilote de pont compris dans l’environnement JRE 1.3.x contient un défaut connu relatif aux paramètres de procédure stockée IN OUT. L’appel d’une procédure stockée avec des paramètres IN OUT se traduit par une violation de l’accès à la mémoire et par la mise hors service de l’annuaire. Pour éviter ce problème, il est recommandé d’utiliser la version 1.2.2 du JRE avec Identity Manager. Cette solution a néanmoins pour effet de réduire les performances de tous les pilotes exécutés sur le serveur. Identity Manager prend en charge uniquement l’utilisation de Hotspot avec JRE version 1.3.x ou ultérieure.
Oracle
Vous pouvez rencontrer des problèmes liés à une utilisation intensive de l’UC lors de l’exécution d’instructions SQL incorporées, sauf si vous associez un attribut jdbc:type
à chaque élément
<jdbc:statement>
. De façon générale, le problème peut être évité en attribuant la valeur single au paramètre de pilote Gérer les résultats des instructions.
La version 8.1.6 du pilote JDBC Oracle comporte un bogue qui influe sur l’acheminement des données via le canal Éditeur. Des valeurs NULL incorrectes sont renvoyées par certains champs dans la table de consignation des événements, alors que leurs valeurs sont en fait non
NULL.
La conséquence directe est que le pilote considère plusieurs lignes comme NOOP
(« No Operation ») et les ignore, puis il génère un document de canal Éditeur incomplet.
Les versions antérieures peuvent également présenter ce même problème. Nous vous recommandons donc d’utiliser la version 8.1.7 qui est compatible en amont avec la plupart des versions d’Oracle 8.
Pour vous connecter à d’anciennes versions d’Oracle sur NetWare (par exemple, 8.0.3), vous devez utiliser le pilote JDBC CLASS111.zip fourni sur le CD d’installation d’Oracle.
Microsoft SQL Server
Le pilote ODBC de Microsoft pour SQL Server renvoie un type java.sql.Types.OTHER ambigu pour les types de données NVARCHAR, NCHAR, NTEXT et
UNIQUEIDENTIFIER. Or, le pilote suppose que le type java.sql.Types.OTHER est
NVARCHAR, NCHAR ou NTEXT. C’est pour cette raison que le type
UNIQUEIDENTIFIER n’est pas pris en charge.
Le pilote JDBC pour Microsoft SQL Server 2000 génère l’erreur suivante quand le paramètre du pilote Réutiliser les instructions a une valeur autre que non : « Can’t start manual transaction mode because there are cloned (Impossible de démarrer le mode de transaction manuel parce qu’il y a des éléments clonés). »
Sybase
Pour assurer un comportement de remplissage et de troncature conforme à la norme ANSI des valeurs binaires, les colonnes binaires (autres que les images) doivent être exactement de la même taille que l’attribut eDirectory qui leur est assigné, contraintes NOT NULL et ajoutées
à la règle de création de l’objet Éditeur ou Abonné. Si elles sont contraintes NULL, les zéros de droite, qui sont significatifs pour eDirectory, seront tronqués. Si les colonnes binaires dépassent la taille de leurs attributs eDirectory respectifs, des 0 supplémentaires seront ajoutés
à la fin de la valeur.
Conditions préalables applicables au pilote
23
Novell Confidential Manual (FRA) 28 October 2003
MySQL
Les colonnes TIMESTAMP (horodatage), lorsqu’elles sont mises à jour après avoir été initialement définies sur 0 ou NULL, sont toujours définies à la date et l’heure actuelles. Pour compenser ce comportement, nous vous recommandons d’assigner les syntaxes de temps et d’horodatage d’eDirectory aux colonnes DATETIME.
La publication n’est pas prise en charge. MySQL ne prend pas en charge la requête utilisée par l’éditeur pour extraire des événements de la table de consignation des événements.
Informix
Les colonnes NUMERIC (numérique) ou DECIMAL (décimale) ne peuvent être utilisées comme clés primaires à moins que l’échelle (c’est-à-dire le nombre de colonnes à droite du point décimal) soit explicitement définie sur zéro lors de la création de la table. Par défaut, l’échelle est définie sur 255.
Limites
La section suivante répertorie les limites connues du pilote.
Le pilote ne prend pas en charge l’utilisation d’identificateurs de base de données délimités.
La synchronisation directe (à l’aide de vues) ne prend pas en charge la synchronisation des attributs à valeurs multiples ou référentiels.
Les bases de données Informix Dynamic Server créées avec l’option LOG MODE ANSI ne sont pas prises en charge. Les bases créées avec cette option utilisent des identificateurs délimités pour les noms d’utilisateur ou de schéma. Pour le moment, le pilote ne prend pas en charge les identificateurs délimités.
La publication n’est pas prise en charge. MySQL ne prend pas en charge la requête utilisée par l’éditeur pour extraire des événements de la table de consignation des événements.
Les types de données JDBC 2.0 ne sont pas pris en charge à l’exception de CLOB et BLOB.
24
DirXML Driver for JDBC Implementation Guide (Guide d’implémentation du pilote DirXML pour JDBC)

Lien public mis à jour
Le lien public vers votre chat a été mis à jour.