Paramètres du pilote. Novell Pilote DirXML pour JDBC
Vous trouverez ci-dessous de brèves informations sur JDBC Pilotes DirXML. Ce guide présente une solution générique pour la synchronisation de données entre Novell eDirectory et des bases de données relationnelles accessibles via JDBC. Il détaille l'installation, la configuration et l'utilisation du pilote DirXML pour faciliter la communication avec diverses bases de données.
Novell Confidential Manual (FRA) 28 October 2003
Paramètres du pilote
Après avoir défini les paramètres d’authentification, vous devez définir les paramètres du pilote.
Ces paramètres se répartissent en trois catégories :
Pilote
Abonné
Éditeur
Configuration du pilote
1
2
3
Dans iManager, cliquez sur Gestion DirXML > Présentation.
Recherchez l’ensemble qui contient le pilote puis cliquez sur l’icône du pilote.
Dans Présentation du pilote DirXML, cliquez sur l’objet Pilote. Les configurations de pilote s’affichent.
Le tableau suivant dresse la liste des paramètres avec des exemples de valeurs :
Nom du paramètre
Nom de classe du pilote JDBC tiers
Synchroniser le schéma
Synchroniser la ou les tables
Réutiliser les instructions ?
Utiliser les transactions manuelles ?
Utiliser la connexion simple ?
Niveau d’isolation de transaction par défaut
Nom de classe du testeur de connexion
Instruction de test de la connexion
Exemple de valeur de configuration Valeur par défaut Obligatoire Balise
oracle.jdbc.driver.OracleDriver
dirxml oui oui
<jdbc-class>
<sync-schema> emp oui oui non lecture validée com.novell.nds.dirxml.driver.jdbc
.util.JDBCConnectionTester
Récupérer les métadonnées minimales ?
Gérer les résultats des instructions ?
oui
SELECT empno FROM dirxml.emp where -1 = 0 non
Chaîne d’initialisation de la connexion USE dirxml
Enable Referential Support (Activer la prise en charge des référentiels) ?
oui oui
(déterminée dynamiquement) non
(idem)
(idem) non oui oui oui non non non non non non non non non non
<sync-tables>
<reusestatements>
<use-manualtransactions>
<use-singleconnection>
<transactionisolation-level>
<connectiontester-class>
<connection-teststmt>
<minimalmetadata>
<handle-stmtresults>
<connection-init>
<enable-refs>
Configuration du pilote
37
Novell Confidential Manual (FRA) 28 October 2003
Nom de classe du pilote JDBC tiers
Le nom de classe du pilote JDBC tiers est un paramètre obligatoire avec distinction majuscules/ minuscules. Ce nom fait référence au nom qualifié complet de la classe de votre pilote tiers. Le tableau suivant répertorie le nom de classe pour les pilotes de fabricants tiers testés.
Pilote de fabricant tiers
Pilotes JDBC Oracle8i, 9i
Valeur
oracle.jdbc.driver.OracleDriver
Pilote JDBC IBM DB2 UDB
BEA Weblogic jDriver pour MSSQL
Server 7/2000
COM.ibm.db2.jdbc.net.DB2Driver
weblogic.jdbc.mssqlserver4.Driver
Pilote Microsoft SQL Server 2000 pour
JDBC com.microsoft.jdbc.sqlserver.SQLServerDriver
Sybase jConnect 5.5
MySQL Connector/J
Pilote JDBC Informix
Pilote JDBC-ODBC Sun com.sybase.jdbc2.jdbc.SybDriver
org.gjt.mm.mysql.Driver
com.informix.jdbc.IfxDriver
sun.jdbc.odbc.JdbcOdbcDriver
Synchroniser le schéma
Synchroniser le schéma est un paramètre obligatoire avec distinction possible majuscules/ minuscules. Ce paramètre identifie le schéma de base de données en cours de synchronisation. Un schéma de base de données est analogue au nom du propriétaire des tables en cours de synchronisation. Par exemple, si vous souhaitez synchroniser deux tables, emp
et phone
, qui appartiennent au même utilisateur de base de données dirxml
, vous devez entrer dirxml
dans ce champ. Lorsque ce paramètre est utilisé, le paramètre Synchroniser la ou les tables doit être laissé vide ou omis de la configuration d’un pilote.
Synchroniser la ou les tables
Synchroniser la ou les tables est un paramètre obligatoire avec distinction possible majuscules/ minuscules. Ce paramètre permet de créer un schéma de base de données virtuel en dressant une liste des noms des classes de base de données logiques à synchroniser. Les noms de classes de base de données logiques sont les noms des tables et des vues parent. C’est une erreur de lister les noms de tables enfant. Ce paramètre est utile pour une synchronisation avec des bases de données qui ne prennent pas en charge la notion de schéma ou lorsque le schéma de synchronisation contient un grand nombre de tables dont quelques-unes seulement présentent un intérêt pour le pilote. Si vous synchronisez deux tables ou vues avec les mêmes noms dans différents schémas, assurez-vous de préfixer la table avec le schéma ou d’afficher les noms dans la règle d’assignation de schéma. Le pilote ne préfixe pas la table avec le schéma ou n’affiche pas les noms renvoyés par l’opération getSchema() par défaut. Lorsque ce paramètre est utilisé, le paramètre Synchroniser le schéma doit
être laissé vide ou omis de la configuration d’un pilote.
38
DirXML Driver for JDBC Implementation Guide (Guide d’implémentation du pilote DirXML pour JDBC)
Novell Confidential Manual (FRA) 28 October 2003
Réutiliser les instructions ?
Réutiliser les instructions est un paramètre sans distinction majuscules/minuscules qui peut être obligatoire pour certains pilotes tiers. Si vous attribuez la valeur oui (valeur par défaut) à ce paramètre, le pilote alloue les objets java.sql.Statement, java.sql.PreparedStatement et java.sql.CallableStatement une seule fois, puis les réutilise. Lorsque ce paramètre a la valeur non, le pilote alloue ou libère les objets Instruction chaque fois qu’ils sont employés. La valeur non attribuée à ce paramètre entraîne un ralentissement des performances du pilote.
Il convient d’attribuer la valeur non à ce paramètre en cas d’utilisation avec le pilote Microsoft
SQL Server 2000 pour JDBC.
Pour des performances maximales du pilote, il est recommandé d’utiliser la valeur par défaut ou d’omettre ce paramètre de la plupart des configurations de pilote.
Utiliser les transactions manuelles ?
Utiliser les transactions manuelles est un paramètre sans distinction majuscules/minuscules dont la valeur est tirée des métadonnées de la base de données en phase d’exécution. Ce paramètre ne doit être utilisé que lorsqu’il est nécessaire de remplacer le comportement par défaut du pilote. Par exemple, pour MySQL, la prise en charge des transactions est déterminée sur la base de la table plutôt que de la base de données. Dans ce cas, il est nécessaire de désactiver la prise en charge des transactions manuelles lors d’une synchronisation avec des tables sans prise en charge des transactions.
Lorsque ce paramètre a la valeur oui, le pilote prend en charge l’utilisation de transactions manuelles. Lorsqu’il a la valeur non, toute instruction exécutée par le pilote est une transaction automatique.
Pour assurer l’intégrité des données dans la base de données cible, nous vous recommandons d’omettre ce paramètre de la plupart des configurations de pilote.
Utiliser la connexion simple ?
Utiliser la connexion simple est un paramètre sans distinction majuscules/minuscules qui peut être obligatoire pour certains pilotes tiers. Lorsqu’il a la valeur oui, les canaux Abonné et Éditeur partagent une connexion unique. Lorsqu’il a la valeur non(par défaut), chaque canal emprunte une connexion séparée. La définition de ce paramètre sur oui réduit les performances du pilote. Ce paramètre ne doit être défini sur oui que lorsque les deux canaux Abonné et Éditeur sont utilisés.
Pour des performances maximales du pilote, il est recommandé d’utiliser la valeur par défaut ou d’omettre ce paramètre de la plupart des configurations de pilote.
Niveau d’isolation de transaction par défaut
Niveau d’isolation de transaction par défaut est un paramètre facultatif sans distinction majuscules/minuscules. Ce paramètre définit le niveau d’isolation de transaction par défaut pour les connexions utilisées par le pilote. Il existe cinq valeurs possibles, dont quatre correspondent aux constantes publiques définies dans l’interface java.sql.Connection :
aucune
lecture non validée
lecture validée
lecture renouvelée
sérialisable
Configuration du pilote
39
Novell Confidential Manual (FRA) 28 October 2003
La valeur par défaut est lecture validée
. Nous vous recommandons d’utiliser le niveau d’isolation de transaction lecture validée
. Pour plus d’informations sur ces valeurs, reportez-vous au site Web de Sun (http://java.sun.com) .
Étant donné que certains pilotes de fabricants tiers ne reconnaissent pas la valeur aucune
du niveau d’isolation de transaction pour une connexion, le pilote accepte également la valeur supplémentaire non prise en charge
.
Instruction de test de la connexion
L’instruction de test de la connexion est un paramètre facultatif avec distinction possible majuscules/minuscules. Ce paramètre est une solution de remplacement rapide à la création d’une classe de testeur de connexion. Pour détecter l’échec de la connexion, il suffit souvent d’envoyer une instruction SQL arbitraire via le réseau.
Lorsqu’il est présent, ce paramètre remplace le paramètre Nom de classe du testeur de connexion.
Nom de classe du testeur de connexion
Le nom de classe du testeur de connexion est un paramètre avec distinction majuscules/ minuscules, qui peut être obligatoire pour certains pilotes tiers. Il s’agit du nom qualifié complet de la classe utilisée pour déterminer l’état de la connexion. Cette classe doit être publique, comporter un constructeur par défaut public et mettre en oeuvre l’interface com.novell.nds.dirxml.driver.jdbc.db.DBConnectionTester.
La valeur par défaut est com.novell.nds.dirxml.driver.jdbc.util.JDBCConnectionTester
.
Pour le pilote Microsoft SQL pour JDBC, définissez la valeur suivante : com.novell.nds.dirxml.driver.jdbc.db.MSSQLConnectionTester
Pour le pilote JDBC d’Informix, définissez la valeur : com.novell.nds.dirxml.driver.jdbc.db.InformixConnectionTester
Pour le pilote Mysql Connector/J, définissez la valeur : com.novell.nds.dirxml.driver.jdbc.db.MySQLConnectionTester
Ce paramètre est ignoré lorsqu’une valeur est définie pour le paramètre Instruction de test de la connexion.
Récupérer les métadonnées minimales ?
Récupérer les métadonnées minimales est un paramètre sans distinction majuscules/minuscules, qui peut être obligatoire pour certaines bases de données. Lorsqu’il a la valeur oui, le pilote n’appelle que des méthodes de métadonnées obligatoires. Lorsque la valeur non (par défaut) est définie pour ce paramètre, le pilote appelle les méthodes de métadonnées obligatoires et facultatives. Reportez-vous à
Annexe D, « Méthodes java.sql.DatabaseMetaData », page 91 pour
consulter une liste supplémentaire de méthodes de métadonnées obligatoires et facultatives. Les méthodes de métadonnées facultatives sont requises pour la synchronisation des attributs à valeurs multiples et référentiels.
Définissez cette valeur sur oui pour améliorer le temps de démarrage du pilote au détriment de son fonctionnement.
40
DirXML Driver for JDBC Implementation Guide (Guide d’implémentation du pilote DirXML pour JDBC)
Novell Confidential Manual (FRA) 28 October 2003
Gérer les résultats des instructions ?
Gérer les résultats des instructions est un paramètre facultatif sans distinction majuscules/ minuscules. Ce paramètre indique au pilote le nombre d’ensembles de résultats qui peuvent être générés par une instruction SQL arbitraire. Trois valeurs sont possibles :
aucune
unique
multiple
La valeur par défaut est multiple
. Pour la compatibilité en amont, oui
est égal à multiplenon
est égal à aucune
.
Pour le pilote ODBC de Microsoft, Oracle ou Informix, vous devez attribuer la valeur single
à ce paramètre. Pour les autres pilotes tiers, nous vous recommandons d’utiliser la valeur par défaut ou d’omettre ce paramètre de la plupart des configurations de pilote.
Chaîne d’initialisation de la connexion
La chaîne d’initialisation de la connexion est un paramètre facultatif avec distinction possible majuscules/minuscules. La chaîne d’initialisation de la connexion sert à définir des propriétés sur les connexions utilisées par le pilote. Vous devez séparer plusieurs valeurs d’instruction par des points-virgules. Ce paramètre permet d’ajuster les normes de compatibilité ANSI et le contexte de base de données.
Enable Referential Support (Activer la prise en charge des référentiels) ?
Enable referential support (Activer la prise en charge des référentiels) est un paramètre facultatif sans distinction majuscules/minuscules. Ce paramètre indique au pilote d’interpréter les contraintes de clé étrangère qui font référence aux tables parent d’autres classes de base de données en tant qu’attributs référentiels. Les attributs référentiels servent généralement à désigner un endiguement (par exemple, l’appartenance à un groupe). Lorsque la valeur oui (par défaut) est définie pour ce paramètre, le pilote interprète lesdites colonnes en tant que référentiels. Lorsque la valeur non est définie pour ce paramètre, le pilote interprète lesdites colonnes en tant que non-référentiels. L’objectif de ce paramètre est de garantir la compatibilité en amont avec la version 1.0 de ce pilote. Pour une compatibilité avec la version 1.0, ce paramètre doit avoir la valeur non.
Configuration de l’objet Abonné
Le tableau suivant dresse la liste des paramètres avec des exemples de valeurs.
Nom du paramètre Exemple de valeur de configuration Valeur par défaut
Obligatoire Balise
non non non
<disable>
<key-gen>
Désactiver
Génération de clé primaire
Moment choisi pour la génération de la clé
Vérifier le nombre de mises à jour ?
oui emp("sp_empno(empno,fname)") après oui avant oui non non
<key-gentiming>
<checkupdatecount>
Configuration du pilote
41
Novell Confidential Manual (FRA) 28 October 2003
Désactiver
Désactiver est un paramètre facultatif sans distinction majuscules/minuscules. Lorsque ce paramètre a la valeur oui
, le canal Abonné ne traite pas les événements, mais renvoie des avertissements à la place. Lorsque la valeur de ce paramètre est non
(par défaut), le canal Abonné traite les événements.
Génération de clé primaire
La génération de clé primaire est un paramètre facultatif et complexe avec distinction possible majuscules/minuscules. Les identificateurs de base de données utilisés dans cette valeur ne doivent pas être délimités.
Lors du traitement d’événements d’
<ajout>
, le canal Abonné utilise des valeurs de clé primaire pour créer des associations. Ce paramètre indique comment le canal Abonné obtient les valeurs de clé primaire nécessaires pour générer des valeurs d’association. Il existe trois possibilités :
1. Les valeurs de clé primaire nécessaires sont déjà présentes dans l’événement XML.
2. Le canal Abonné doit générer les valeurs de clé primaire nécessaires.
3. Le canal Abonné doit se procurer ces valeurs en appelant une procédure stockée ou une fonction définie par l’utilisateur dans la base de données.
Méthode 1 : par défaut, le pilote suppose que les valeurs de clé primaire sont déjà présentes dans l’événement XML. Si c’est le cas, aucune valeur ne doit être générée. Cela est souhaitable lorsqu’un attribut eDirectory, comme un GUID, est explicitement assigné au schéma de la colonne de clé primaire d’une table ou d’une vue.
La syntaxe de la méthode 1 est la suivante : nomclasse-basedonnées-logique(none)
Exemple : emp(none) view_emp(none)
Méthode 2 : il est souvent souhaitable dans un environnement de test que le canal Abonné génère les valeurs de clé primaire avant qu’une procédure stockée ou une fonction soit disponible. Cette méthode peut également être utilisée avec des bases de données qui ne prennent pas en charge les procédures ou les fonctions stockées. Pour les colonnes de type numérique, le pilote utilise une fonction simple (MAX+1) pour générer des valeurs de clé primaire. Dans le cas de colonnes de type chaîne, le pilote génère une suite aléatoire de caractères alphanumériques. Les autres types de données ne sont pas pris en charge.
La syntaxe de la méthode 2 est la suivante : nomclasse-basedonnées-logique(driver)
Exemple : emp(driver) view_emp(driver)
Méthode 3 : les valeurs de clé primaire sont tirées d’une procédure stockée ou fonction définie par l’utilisateur.
La syntaxe des procédures stockées est la suivante : nomclasse-basedonnées-logique (« signature-
procédure-stockée »), où signature-procédure-stockée = nom-procédure(nom-colonne, . . .).
42
DirXML Driver for JDBC Implementation Guide (Guide d’implémentation du pilote DirXML pour JDBC)
Novell Confidential Manual (FRA) 28 October 2003
Exemple : emp("sp_empno(empno, fname)") view_emp("sp_empno(pk_empno, fname)")
La syntaxe des fonctions est la suivante : nomclasse-basedonnées-logique("? = signature-
fonction"), où signature-fonction = nom-fonction(nom-colonne, . . .).
Exemple : emp("? = sp_empno(empno, fname)") view_emp("? = sp_empno(pk_empno, fname)")
Cette notation assigne une table ou une vue parent à une procédure stockée ou une fonction définie par l’utilisateur. Les noms de colonne sont ceux de la classe de base de données logique qui doit
être transmise à la procédure stockée ou fonction. L’ordre, le nombre et le type de données des paramètres doivent correspondre à l’ordre, au nombre et au type de données des paramètres attendus par la procédure ou fonction. Pour les procédures stockées, les colonnes de clé primaire doivent être transmises comme paramètres IN OUT. Les colonnes sans clé doivent être transmises comme paramètres IN.
Remarques supplémentaires sur la génération de la clé primaire
Dans le cas de la première méthode, il convient d’assigner au schéma d’une colonne de clé primaire le GUID au lieu du CN.
Avec la troisième méthode, les colonnes de clé primaire ne doivent pas être assignées au schéma, ni incluses dans les filtres Abonné ou Éditeur.
Lors de la synchronisation de plusieurs classes, une méthode de génération de clé primaire doit être déclarée pour chaque classe de base de données logique. Les valeurs doivent être séparées par des espaces ou des virgules.
Moment choisi pour la génération de la clé
Le moment choisi pour la génération de la clé est un paramètre sans distinction majuscules/ minuscules, qui est obligatoire pour la plupart des bases de données en cas d’utilisation des méthodes deux et trois de génération de la clé primaire.
Deux valeurs sont possibles :
avant
après
La valeur par défaut est avant
.
Méthode 1 de génération de clé primaire : ce paramètre est ignoré.
Méthode 2 de génération de clé primaire : lorsque ce paramètre a la valeur avant, le pilote exécute une instruction select avant l’insertion d’une ligne dans une table ou vue parent. Lorsque ce paramètre a la valeur après, le pilote exécute une instruction select après l’insertion d’une ligne dans une table ou vue parent.
Méthode 3 de génération de clé primaire : avec la valeur avant, les procédures ou fonctions déclarées dans le paramètre Génération de clé primaire sont appelées avant l’insertion d’une ligne dans une table ou vue parent. Avec la valeur après, les procédures ou fonctions sont appelées après l’insertion d’une ligne dans une table ou vue parent.
Pour toutes les bases de données, sauf Oracle, la valeur après
doit être attribuée à ce paramètre.
Pour Oracle, il convient d’utiliser la valeur par défaut ou d’omettre ce paramètre.
Configuration du pilote
43
Novell Confidential Manual (FRA) 28 October 2003
Vérifier le nombre de mises à jour ?
Vérifier le nombre de mises à jour est un paramètre facultatif sans distinction majuscules/ minuscules. Lorsque ce paramètre a la valeur oui
(par défaut), un décompte des mises à jour est effectué afin de vérifier que lors de l’insertion, la mise à jour ou la suppression de lignes dans une table ou une vue, l’opération en question a bien été effectuée. Si ce paramètre a la valeur oui
et que des lignes ne sont pas mises à jour, une erreur est émise. Lorsque ce paramètre a la valeur non
, le nombre de mises à jour n’est pas vérifié. La valeur non
doit être attribuée à ce paramètre lorsque des instructions sont redéfinies avant la logique de déclencheur dans une table ou à la place de cette logique dans une vue.
Lorsque vous effectuez une synchronisation avec Microsoft SQL Server, il est préférable d’utiliser la valeur par défaut car les erreurs contenues dans la logique de déclencheur (qui peuvent entraîner la restauration d’une transaction) ne sont pas toujours répercutées sur l’abonné.
Configuration de l’objet Éditeur
Le tableau suivant répertorie les paramètres de l’objet Éditeur, avec leurs valeurs par défaut et des exemples de configuration :
Nom du paramètre
Désactiver
Nom de la table de consignation
Intervalle d’interrogation (en secondes)
Intervalle de reconnexion (en secondes)
Exemple de valeur de configuration
Valeur par défaut
oui non eventlog
1-604800
(1 semaine)
Optimiser les mises à jour
Supprimer du journal oui oui
Autoriser le retour en boucle ?
oui
10
1-3600 (1 heure) 30 non oui non
Obligatoi re
Balise
non oui
<disable>
<log-table> non non non non non
<polling-interval>
<reconnect-interval>
<optimize-update>
<delete-from-log>
<check-updatecount>
Désactiver
Désactiver est un paramètre facultatif, sans distinction majuscules/minuscules, qui indique si le canal Éditeur doit ouvrir une connexion à la base de données et rechercher des événements de base de données dans la table de consignation des événements. Lorsque ce paramètre a la valeur oui
, le canal Éditeur n’établit pas de connexion avec une base de données et n’interroge pas la table de consignation des événements. Lorsque ce paramètre a la valeur non
(par défaut), le canal Éditeur se connecte à la base de données et interroge la table de consignation des événements.
Nom de la table de consignation
Le nom de la table de consignation est un paramètre obligatoire avec distinction possible majuscules/minuscules. Ce paramètre indique le nom de la table dans laquelle les événements de base de données sont stockés en vue de leur acheminement via le canal Éditeur. Cette valeur ne doit pas être délimitée.
44
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.
Caractéristiques clés
- Synchronisation des données entre eDirectory et bases de données relationnelles.
- Compatibilité avec diverses bases de données via JDBC.
- Prise en charge des modèles de synchronisation directe et indirecte.
- Utilisation du langage SQL dans des événements XML.
- Configuration avancée du pilote pour optimiser les performances.
- Utilitaire d’association JDBC pour faciliter l'assignation de schéma.