Acquisition de connexion de base de données pour les utilitaires et les tâches Ant

Les utilitaires et les tâches Ant HCL Commerce sont mis à jour pour faire référence à une classe unique afin de configurer l'acquisition d'une connexion de base de données. Cette méthode de connexion de base de données unifiée garantit que chaque utilitaire et tâche Ant peuvent référencer cette classe pour acquérir une connexion de base de données, quel que soit le pilote JDBC utilisé par une base de données.

Par défaut, vous pouvez spécifier les paramètres de connexion pour une base de données à partir de la ligne de commande, ou l'utilitaire peut définir les paramètres. Avec cette méthode de connexion unifiée, ces options pour spécifier la base de données pour une utilisation avec un utilitaire ne sont pas modifiées. Vous pouvez toujours consigner toutes les connexions de base de données qui sont établies par un utilitaire. Pour définir où créer les fichiers journaux, utilisez l'élément logoutput comme un sous-élément de la configuration database-type. Avec cette configuration de journalisation, le fichier journal enregistre les spécifications de base de données qui sont entrées pour établir une connexion de base de données pour un utilitaire. Une fois qu'un ensemble de paramètres d'entrée est collecté, vous pouvez consulter les paramètres spécifiés et potentiellement configurer des remplacements pour contrôler la façon dont les utilitaires se connectent à la base de données. Par exemple, vous pouvez remplacer la spécification de base de données pour assurer que les utilitaires emploient seulement une URL de JDBC spécifique.

OracleVous pouvez configurer la classe AllDBConnector pour utiliser un portefeuille Oracle afin d'authentifier les données d'identification utilisateur pour la connexion à une base de données Oracle. En configurant la classe AllDBConnector pour authentifier les utilisateurs avec un portefeuille Oracle, vous pouvez sécuriser davantage le processus de connexion de base de données pour les utilitaires HCL Commerce. Pour en savoir plus sur cette configuration, consultez la section Configuration de la connexion à la base de données Oracle afin que les utilitaires puissent authentifier les utilisateurs sur Oracle Wallet.

Configuration d'acquisition de connexion de base de données

Les propriétés de configuration pour cette méthode de connexion de base de données unifiée sont spécifiées dans le fichier suivant :
  • LinuxAIXFor IBM i OS operating systemWC_installdir/xml/config/alldbconnector.xml
  • WindowsWC_installdir/xml\config\alldbconnector.xml
  • HCL Commerce DeveloperWCDE_installdir\xml\config\alldbconnector.xml
Pour consulter le schéma XML pour vous aider à comprendre comment les utilitaires ou les tâches Ant établissent une connexion de base de données, accédez à l'emplacement suivant et ouvrez le fichier pour examen :
  • LinuxAIXFor IBM i OS operating systemWC_installdir/xml/config/alldbconnector.xsd
  • WindowsWC_installdir/xml\config\alldbconnector.xsd
  • HCL Commerce DeveloperWCDE_installdir\xml\config\alldbconnector.xsd

Les propriétés de configuration de connexion de base de données sont définies comme des éléments de paire nom-valeur dans le fichier de configuration XML alldbconnector.xml. Ces propriétés sont définies comme des propriétés globales et dans le cadre des configurations de type de base de données spécifiques. Lorsqu'une connexion de base de données est établie, elle utilise les paramètres de configuration de l'identificateur d'entrée de base de données spécifique. Si aucune configuration n'existe pour cet identificateur, la connexion utilise les propriétés de configuration globales.

Le code suivant donne un aperçu du schéma de fichier XML de configuration :
<alldbconnector>
  <db2 />
  <oracle />
  <derby />
  <iseries />
  <iseries_toolbox />
</alldbconnector>
Pour modifier la façon dont les utilitaires acquièrent une connexion de base de données, configurez les propriétés dans le fichier de configuration XML. Pour chacun des 5 types de base de données pris en charge, les éléments suivants peuvent être inclus dans chaque élément de type de base de données :
<drivertype> (0 or 1 time) (only under the <oracle> element)
<jdbcdriver> (0 or 1 time)
<jdbcurl> (0 or 1 time)
<logoutput> (0 or 1 time)
<property> (0 or more times)
<override> (0 or more times)

Où :

Oracledrivertype
OracleType de pilote Oracle qu'un utilitaire emploie pour établir une connexion de base de données. Un utilitaire emploie cet élément de configuration lorsque la spécification d'entrée d'une base de données est au format suivant, server:port/service ou server:port:sid
La définition de cet élément contrôle si l'utilitaire emploie le pilote Oracle thin ou oci. Les utilitaires emploient cet élément uniquement lorsque l'élément est spécifié dans l'élément <oracle>. L'élément drivertype ne prend pas en charge l'inclusion d'un sous-élément. Pour configurer cet élément, utilisez les attributs d'élément suivants :
valeur
Obligatoire. Type de classe du pilote Oracle à utiliser. La valeur par défaut est 'thin'. L'autre valeur acceptée est 'oci'.
enabled
Facultatif. Active l'élément drivertype. Vous pouvez en définir un pour les valeurs suivantes pour cet élément :
oui
Active l'élément. Valeur par défaut.
non
Désactive l'élément.
jdbcdriver
Classe de pilote qu'un utilitaire emploie pour établir une connexion de base de données. Utilisez cet élément pour spécifier une classe de pilote différente qu'un utilitaire peut employer pour établir une connexion de base de données. L'élément jdbcdriver ne prend pas en charge l'inclusion d'un sous-élément. Pour configurer cet élément, utilisez les attributs d'élément suivants :
valeur
Obligatoire. Nom complet du pilote JDBC. N'incluez pas le suffixe .class dans ce nom.
enabled
Facultatif. Active l'élément jdbcdriver. Vous pouvez en définir un pour les valeurs suivantes pour cet élément :
oui
Active l'élément. Valeur par défaut.
non
Désactive l'élément.
jdbcurl
URL JDBC employée par un utilitaire pour acquérir une connexion de base de données. L'élément jdbcurl ne prend pas en charge l'inclusion d'un sous-élément. N'utilisez pas cet élément comme un sous-élément direct d'un élément de type de base de données, tel que <oracle> ou <db2>. Si vous utilisez cet élément comme un sous-élément à ce niveau, l'élément force toutes les connexions de base de données pour se connecter à la même base de données. Ce comportement pourrait ne pas être le comportement correct pour tous les utilitaires, tels que l'utilitaire stagingprop. Si vous souhaitez utiliser cet élément, incluez l'élément en tant que sous-élément dans un élément override. Pour configurer cet élément, utilisez les attributs d'élément suivants :
valeur
Obligatoire. Chemin d'URL JDBC employé par un utilitaire pour acquérir une connexion de base de données.
enabled
Facultatif. Active l'élément jdbcurl. Vous pouvez en définir un pour les valeurs suivantes pour cet élément :
oui
Active l'élément. Valeur par défaut.
non
Désactive l'élément.
Le fragment de code suivant configure l'élément jdbcurl. Cette configuration garantit que tous les utilitaires sur une base de données DB2 pour Linux, UNIX et Windows se connecte à la base de données 'mall' sur le serveur 'localhost'.
<alldbconnector>
  <db2>
    <property name="currentSchema" value="MYSCHEMA" />
    <property name="currentQueryOptimization" value="0" enabled="no" />
    <logoutput value="standardout" />
    <jdbcurl value="jdbc:db2://localhost:50000/mall"; />
  </db2>
  <oracle />
  <derby />
  <iseries />
  <iseries_toolbox />
</alldbconnector>
logoutput
Indique un flux de sortie où tous les diagnostics enregistrés par la classe peuvent être consignés dans un fichier journal. L'élément logoutput ne prend pas en charge l'inclusion d'un sous-élément. Pour configurer cet élément, utilisez les attributs d'élément suivants :
valeur
Obligatoire. Chemin dans lequel un utilitaire crée le journal de diagnostic. Les valeurs acceptées pour cet élément sont stdout, standardout ou un chemin d'accès au fichier absolu. Tous les chemins non absolus entraînent l'utilitaire à ignorer l'élément logoutput. Les fragments de code suivants montrent la définition d'un chemin absolu pour l'élément logoutput :
<!-- for windows -->
<logoutput value="f:\some_directory\db2-connection-diagnostics.log" enabled="no" />

<!-- for non-windows -->
<logoutput value="/some_directory/db2-connection-diagnostics.log" enabled="no" />
enabled
Facultatif. Active l'élément logoutput. Vous pouvez en définir un pour les valeurs suivantes pour cet élément :
oui
Active l'élément. Valeur par défaut.
non
Désactive l'élément.
Le fragment de code suivant montre la configuration de l'élément logoutput doté d'une valeur définie sur standardout. La valeur standardout garantit que tous les diagnostics pour toute connexion établie sur une base de données DB2 pour Linux, UNIX et Windows sont imprimés dans le flux de sortie standard.
<alldbconnector>
  <db2>
    <property name="currentSchema" value="MYSCHEMA" />
    <property name="currentQueryOptimization" value="0" enabled="no" />
    <logoutput value="standardout" />
  </db2>
  <oracle />
  <derby />
  <iseries />
  <iseries_toolbox />
</alldbconnector>
propriété
Utilisez cet élément pour spécifier davantage de propriétés de configuration de paire nom-valeur de connexion à la base de données, avant que l'utilitaire appelant acquiert les propriétés de connexion. Si l'attribut enabled n'est pas défini sur yes, l'utilitaire appelant ignore la propriété. L'élément property ne prend pas en charge l'inclusion d'un sous-élément. Pour configurer cet élément, utilisez les attributs d'élément suivants :
nom
Obligatoire. Nom de la propriété.
valeur
Obligatoire. Valeur correspondant à la propriété.
type
Facultatif. Type de données de la valeur de propriété. La valeur par défaut est java.lang.String. Les autres valeurs acceptables sont java.lang.Integer et java.lang.Boolean.
enabled
Facultatif. Active l'élément property. Vous pouvez définir les valeurs suivantes pour cet élément :
oui
Active l'élément. Valeur par défaut.
non
Désactive l'élément.
portée
Indique si la propriété est une propriété système ou une propriété de connexion.
system
La propriété est une propriété système.
connexion
La propriété est une propriété de connexion. Valeur par défaut.

OraclePar exemple, pour configurer la classe AllDBConnector pour authentifier les utilisateurs avec un portefeuille Oracle lorsque vous utilisez le type de pilote Oracle léger, vous devez définir une propriété oracle.net.tns.admin en tant que propriété système. En définissant cette propriété en tant que propriété système, le pilote léger Oracle peut extraire les entrées TNS du fichier de configuration tnsnames.ora pour le client de base de données. La classe AllDBConnector et le portefeuille Oracle ont besoin de ces entrées pour authentifier les utilisateurs et établir une connexion de base de données.

Le fragment de code suivant montre la configuration de deux éléments property. Ces propriétés assurent que les connexions à une base de données DB2 pour Linux, UNIX et Windows demandées par un utilitaire ont la valeur MYSCHEMA définie sur la propriété currentSchema. La propriété currentQueryOptimization n'est pas activée, l'utilitaire appelant ignore donc cette propriété.
<alldbconnector>
  <db2>
    <property name="currentSchema" value="MYSCHEMA" />
    <property name="currentQueryOptimization" value="0" enabled="no" />
  </db2>
  <oracle />
  <derby />
  <iseries />
  <iseries_toolbox />
</alldbconnector>
ignoreUserPass
Indique que le nom d'utilisateur et le mot de passe qui sont spécifiés par un utilisateur doivent être supprimés par le processus de connexion de base de données quand un utilitaire se connecte à une base de données. Incluez cet élément lorsque vous configurez la classe AllDBConnector pour authentifier les utilisateurs avec un processus différent.

OraclePar exemple, utilisez cet élément lorsque vous configurez la classe AllDBConnector pour authentifier les utilisateurs avec un portefeuille Oracle. Lorsque vous configurez la classe pour authentifier des utilisateurs avec un portefeuille Oracle Wallet, le nom d'utilisateur et le mot de passe qui sont inclus dans l'utilitaire de ligne de commande ne sont plus nécessaires.

sécurité
Indique que la classe AllDBConnector a besoin de faire un appel d'API Security.addProvider(...) pour extraire un fournisseur de sécurité spécifié pour authentifier l'accès utilisateur afin d'établir une connexion de base de données. Pour configurer cet élément, utilisez l'attribut d'élément suivant :
providername
Nom de classe entièrement qualifié du fournisseur de sécurité. Si les classes du fournisseur de sécurité ne sont pas incluses dans un fichier JAR que la classe AllDBConnector charge par défaut, vous devez configurer la classe AllDBConnector pour charger les fichiers JAR du fournisseur de sécurité à l'aide de l'élément jar.
OraclePar exemple, pour configurer la classe AllDBConnector pour authentifier les utilisateurs avec un portefeuille Oracle, vous devez spécifier le fournisseur de sécurité Oracle approprié.
<security providername="oracle.security.pki.OraclePKIProvider" />
jar
Indique que le processus de connexion de base de données doit utiliser la classe AllDBConnector pour tenter de charger un fichier JAR spécifié, nécessaire pour établir avec succès une connexion de base de données. En chargeant les fichiers JAR, la classe AllDBConnector assure que toutes les classes qui sont nécessaires pour établir une connexion de base de données sont disponibles pour l'autre classe. Pour configurer cet élément, utilisez l'attribut d'élément suivant :
chemin
Chemin du système de fichiers du fichier JAR que la classe AllDBConnector doit charger.
Si vous avez besoin d'un fournisseur de sécurité qui n'est pas disponible dans un fichier JAR qui se charge par défaut, configurez la classe AllDBConnector pour charger le fichier JAR pour votre fournisseur de sécurité.
OraclePar exemple, pour configurer la classe AllDBConnector pour authentifier les utilisateurs avec un portefeuille Oracle, vous devez charger les fichiers JAR Oracle. Le fragment de code suivant montre comment configurer la classe AllDBConnector pour charger ces fichiers JAR :
<jar path="c:\oracle\product\11.2.0\dbhome_1\jlib\oraclepki.jar" />
<jar path="c:\oracle\product\11.2.0\dbhome_1\jlib\osdt_cert.jar" />
<jar path="c:\oracle\product\11.2.0\dbhome_1\jlib\osdt_core.jar" />
contournement
Fournit la possibilité de remplacer les paramètres de connexion d'entrée spécifiés. L'élément override accepte les mêmes sous-éléments que les éléments de type de base de données parent, sauf l'élément override qui ne peut pas comprendre un sous-élément override imbriqué.
Pour configurer cet élément, utilisez les attributs d'élément suivants :
identifier
Obligatoire. Nom d'identification pour la configuration de remplacement. Assurez-vous que l'identifiant est unique parmi les configurations de substitution dans le fichier de configuration. Quand un paramètre d'entrée spécifié correspond à l'identificateur pour une configuration de remplacement, les valeurs de remplacement sont utilisées pour remplacer les paramètres d'entrée spécifiés.
enabled
Facultatif. Active la configuration override. Vous pouvez définir les valeurs suivantes pour cet élément :
oui
Active l'élément. Valeur par défaut.
non
Désactive l'élément.
includeusers
Contrôle si le paramètre override s'applique aux seuls utilisateurs spécifiques. Utilisez une liste séparée par des virgules pour inclure plusieurs utilisateurs.
excludeusers
Contrôle si la configuration override s'applique à des utilisateurs spécifiques. Utilisez une liste séparée par des virgules pour exclure plusieurs utilisateurs.
Remarque : Si l'élément override n'inclut pas les attributs includeusers ou excludeusers, l'élément override s'applique à tous les utilisateurs lorsque la valeur override de la configuration identifier correspond à la spécification de base de données qu'un utilisateur inclut dans la commande pour exécuter un utilitaire.
Si plusieurs éléments override sont configurés avec le même identifiant, les règles suivantes sont utilisées pour déterminer la configuration à utiliser :
  • Si plusieurs éléments override existent avec les mêmes attributs, la première configuration de l'élément est utilisée.
  • Si plusieurs éléments override existent avec des attributs différents, la première configuration d'élément qui correspond à l'une des conditions suivantes est utilisée. Ces conditions sont vérifiées dans l'ordre :
    • La configuration override comprend l'utilisateur qui tente d'établir une connexion de base de données dans les attributs includeusers.
    • La configuration override ne comprend pas les attributs includeusers ou excludeusers.
    • La configuration override a un attribut excludeusers qui n'a pas l'utilisateur spécifié.
    Si un élément ignoreuserpass est inclus dans l'un des remplacements, l'élément s'applique après que la configuration appropriée override à utiliser est déterminée.
Le fragment suivant spécifie une configuration de remplacement :
<alldbconnector>
  <db2>
    <property name="currentSchema" value="MYSCHEMA" />
    <property name="currentQueryOptimization" value="0" enabled="no" />
    <logoutput value="standardout" />
    <jdbcurl value="jdbc:db2://localhost:50000/mall"; />

    <override identifier="prodmall">
      <jdbcurl value="jdbc:db2://prodserver:50000/mall" />
      <property name="currentSchema" value="PRODSCMA" />
    </override>
  </db2>
  <oracle />
  <derby />
  <iseries />
  <iseries_toolbox />
</alldbconnector>
Cette configuration remplace les propriétés de toutes les connexions à une base de données DB2 pour Linux, UNIX et Windows pour utiliser les paramètres suivants :
  • Valeur MYSCHEMA de la propriété currentSchema.
  • Valeur jdbc:db2://localhost:50000/mall de la propriété jdbcurl.
Si le paramètre d'entrée prodmall est spécifié, la configuration de remplacement assure qu'aucun élément property ou jdbcurl de type base de données s'applique. Au lieu de cela, l'utilitaire appelant utilise la valeur jdbc:db2://prodserver:50000/mall pour l'élément jdbcurl et la valeur PRODSCMA est utilisée pour l'élément currentSchema. La configuration de remplacement ne remplace pas la valeur de l'élément logoutput dans la configuration de niveau de type de base de données. Si vous incluez un élément logoutput dans la configuration de remplacement, l'utilitaire appelant crée un journal de diagnostic dans les chemins définis dans chaque élément logoutput.

Remplacements de propriétés de configuration

Le fragment de code suivant spécifie les paramètres d'entrée pour connecter l'utilitaire stagingprop à une base de données. Ces paramètres définissent les valeurs des paramètres -sourcedb et -destdb :
-sourcedb mall 
-sourcedb localhost:50000/mall 
-sourcedb jdbc:db2://localhost:50000/mall
Pour configurer les remplacements pour ces paramètres, utilisez les valeurs de paramètre 'mall', 'localhost:5000/mall' et 'jdbc:db2://localhost:50000/mall' comme valeur pour les éléments d'identifiant de configuration de remplacement. Dans la configuration de remplacement, vous pouvez définir les paramètres de connexion personnalisés ou une URL JDBC différente. Si le remplacement n'existe pas ou ne contient pas d'élément de l'URL JDBC, l'utilitaire construit l'URL JDBC à partir des paramètres d'entrée spécifiés. Toutefois, si une URL JDBC existe dans un élément de remplacement applicable, l'utilitaire stagingprop emploie l'URL JDBC configurée au lieu de construire une URL à partir des paramètres d'entrée.
Remarque : Selon les exigences de performance, votre système peut utiliser un serveur de base de données 64 bits local. Si votre système utilise un serveur de base de données 64 bits avec une machine virtuelle Java 32 bits (JVM), certains utilitaires et processus d'installation peuvent échouer. Par exemple, les processus d'utilitaire peuvent échouer si le seul paramètre d'entrée de connexion de base de données spécifié par l'utilitaire ou le processus lors de la tentative d'établir une connexion de base de données est le nom de la base de données. Dans ces situations, le problème peut être résolu en configurant un remplacement avec le nom de base de données comme valeur d'identificateur de remplacement et en utilisant un sous-élément jdbc.
Par exemple, certains types de base de données, comme une base de données DB2 pour Linux, UNIX et Windows, la spécification du nom de base de données ou la spécification de l'URL JDBC de type 2 force l'utilisation du pilote JDBC de type 2. L'utilisation d'un pilote JDBC de type 2 nécessite le chargement de bibliothèques natives. Une tentative de chargement d'une bibliothèque native peut échouer lorsque la JVM est de 32 bits et le serveur de base de données est 64 bits. L'utilisation de bibliothèques pour rechercher le nom du serveur et le numéro de port de base de données pour construire une URL JDBC de type 4 peut aussi échouer parce que ce processus exige également le chargement de bibliothèques natives. Vous pouvez résoudre ce problème en configurant un remplacement avec le nom de la base de données comme valeur de l'identificateur de remplacement, ou en effectuant l'une des tâches suivantes :
  • Installez un client 32 bits
  • Utilisez un serveur de base de donnée 32 bits
  • Utilisez une machine virtuelle Java 64 bits

Support de DB2 pureScale

A partir de HCL Commerce version 7 groupe de correctifs 8, tous les utilitaires de HCL Commerce prennent en charge l'utilisation d'une base de données DB2 pureScale. Lorsque vous créez une instance sur une base de données DB2 pour Linux, UNIX et Windows pureScale, le processus de création de l'instance ajoute les propriétés de connexion suivantes à la source de données HCL Commerce :
clientRerouteAlternateServerName=[comma separated host list]
clientRerouteAlternatePortNumber=[comma separated port list]
enableAlternateServerListFirstConnect=true
enableSysplexWLB=true
Si la gestion de contenu est également activée, le processus de création de l'instance ajoute également les propriétés à la source de données HCL Commerce Publish.

Lorsque vous créez une instance avec une base de données DB2 pureScale, le processus ajoute des éléments de remplacement dans le fichier de configuration alldbconnector.xml. Les éléments de remplacement contiennent les éléments qui sont ajoutés à la source de données HCL Commerce et comprennent les informations d'URL JDBC appropriées.

Vous pouvez consulter la liste complète des propriétés de connexion qui sont définies pour prendre en charge une base de données DB2 pureScale dans les cibles ConnectionPropertyConfig et CMConnectionPropertyConfig dans les fichiers suivants :
  • WC_installdir\config\deployment\xml\createInstance.xml
  • WC_installdir\components\Workspaces\xml\configureWorkspaces.xml

Exemple

Le fichier XML de configuration suivant définit les propriétés que la classe alldbconnector utilise pour configurer la façon dont les utilitaires acquièrent une connexion de base de données. La configuration suivante spécifie des remplacements pour deux bases de données qui sont cataloguées sur un serveur de base de données local DB2 for Linux, UNIX et Windows.

Sur l'instance locale, la première base de données est cataloguée sous 'mall' et la seconde base de données sous 'prodmall'. L'alias 'mall' fait référence à une base de données locale appelée 'mall', tandis que l'alias 'prodmall' fait référence à une base de données distante 'mall' qui est sur un hôte nommé 'prodserver'. Sur l'hôte 'prodserver', le service de connexion à distance DB2 fonctionne sur le port '50000'. Le serveur de base de données locale est sur un hôte nommé 'stagingserver'. Sur l'hôte 'stagingserver', le service de connexion de base de données est opérationnel sur le port '50000'.

Si des paramètres de connexion qui sont spécifiés pour un utilitaire correspondent aux configurations de remplacement, les propriétés définies dans les configurations de remplacement sont utilisées pour acquérir une connexion de base de données.

<alldbconnector>
  <db2>
    <!--
      ***
      start of overrides for local database
      ***
    -->
    
    <!-- override database name so that native library loading isn't done -->
    <override identifier="mall">
      <jdbcurl value="jdbc:db2://localhost:50000/mall"; />
      <property name="currentSchema" value="STAGING" />
    </override>
    
    <!-- override type-2 database specification to prevent native library loading -->
    <override identifier="jdbc:db2:mall">
      <jdbcurl value="jdbc:db2://localhost:50000/mall"; />
      <property name="currentSchema" value="STAGING" />
    </override>
    
    <!-- override type-4 database specification for uniformity -->
    <override identifier="stagingserver:50000/mall">
      <jdbcurl value="jdbc:db2://localhost:50000/mall"; />
      <property name="currentSchema" value="STAGING" />
    </override>
    
    <!--
      override JDBC URL for schema specification
      note that we need not have overridden that JDBC URL in this override, but let us do so anyway
    -->
    <override identifier="jdbc:db2://stagingserver:50000/mall">;
      <jdbcurl value="jdbc:db2://localhost:50000/mall"; />
      <property name="currentSchema" value="STAGING" />
    </override>
    
    <!-- we could also create overrides for localhost:50000/mall and jdbc:db2://localhost:50000/mall but perhaps that can be left as an exercise -->
    
    <!--
      ***
      end of overrides for local database
      ***
    -->
    
    <!--
      ***
      start of overrides for remote database
      ***
    -->
    
    <!-- override database name so that native library loading isn't done -->
    <override identifier="prodmall">
      <jdbcurl value="jdbc:db2://prodserver:50000/mall"; />
      <property name="currentSchema" value="PRODUCTN" />
    </override>
    
    <!-- override type-2 database specification to prevent native library loading -->
    <override identifier="jdbc:db2:prodmall">
      <jdbcurl value="jdbc:db2://prodserver:50000/mall"; />
      <property name="currentSchema" value="PRODUCTN" />
    </override>
    
    <!-- override type-4 database specification for uniformity -->
    <override identifier="prodserver:50000/mall">
      <jdbcurl value="jdbc:db2://prodserver:50000/mall"; />
      <property name="currentSchema" value="PRODUCTN" />
    </override>
    
    <!--
      override JDBC URL for schema specification
      note that we need not have overridden that JDBC URL in this override, but let us do so anyway
    -->
    <override identifier="jdbc:db2://prodserver:50000/mall">;
      <jdbcurl value="jdbc:db2://prodserver:50000/mall"; />
      <property name="currentSchema" value="PRODUCTN" />
    </override>
    
    <!--
      ***
      end of overrides for remote database
      ***
    -->
  </db2>
  <oracle />
  <derby />
  <iseries />
  <iseries_toolbox />
</alldbconnector>