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.
- Utilitaire CDFGenerator
- Gestionnaire de configuration
- pour l'utilitaire de chargement de données
- Script de commande d'utilitaire de nettoyage de base de données
- Utilitaire encryptChallengeAnswer
- Utilitaire Export Marketing Statistics
- Utilitaire Import Marketing Statistics
- Propagation de l'index de recherche
- Migration
- utilitaire MigrateEncryptedInfo
- Utilitaire migrateSearchFacet
- SegmentCopy
- Utilitaire setdbtype
- Utilitaire seourlkeywordgen
- stagingcopy, utilitaire
- stagingprop, utilitaire
- utilitaire de updatedb
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.
Vous 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


WC_installdir/xml/config/alldbconnector.xml
WC_installdir/xml\config\alldbconnector.xml
WCDE_installdir\xml\config\alldbconnector.xml


WC_installdir/xml/config/alldbconnector.xsd
WC_installdir/xml\config\alldbconnector.xsd
WCDE_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.
<alldbconnector>
<db2 />
<oracle />
<derby />
<iseries />
<iseries_toolbox />
</alldbconnector><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ù :
drivertype
Type 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 Oraclethinouoci. Les utilitaires emploient cet élément uniquement lorsque l'élément est spécifié dans l'élément<oracle>. L'élémentdrivertypene 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
jdbcdriverne 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
.classdans 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
jdbcurlne 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émentoverride. 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.
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
logoutputne 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,standardoutou un chemin d'accès au fichier absolu. Tous les chemins non absolus entraînent l'utilitaire à ignorer l'élémentlogoutput. Les fragments de code suivants montrent la définition d'un chemin absolu pour l'élémentlogoutput:<!-- 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.
logoutputdoté d'une valeur définie surstandardout. La valeurstandardoutgarantit 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
enabledn'est pas défini suryes, l'utilitaire appelant ignore la propriété. L'élémentpropertyne 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 sontjava.lang.Integeretjava.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.
Par 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.adminen 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.
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 valeurMYSCHEMAdéfinie sur la propriétécurrentSchema. La propriétécurrentQueryOptimizationn'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.
Par 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.
Par 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.
Par 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
overrideaccepte les mêmes sous-éléments que les éléments de type de base de données parent, sauf l'élémentoverridequi ne peut pas comprendre un sous-élémentoverrideimbriqué.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
overrides'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
overrides'applique à des utilisateurs spécifiques. Utilisez une liste séparée par des virgules pour exclure plusieurs utilisateurs.
Remarque : Si l'élémentoverriden'inclut pas les attributsincludeusersouexcludeusers, l'élémentoverrides'applique à tous les utilisateurs lorsque la valeuroverridede la configurationidentifiercorrespond à la spécification de base de données qu'un utilisateur inclut dans la commande pour exécuter un utilitaire.Si plusieurs élémentsoverridesont configurés avec le même identifiant, les règles suivantes sont utilisées pour déterminer la configuration à utiliser :- Si plusieurs éléments
overrideexistent avec les mêmes attributs, la première configuration de l'élément est utilisée. - Si plusieurs éléments
overrideexistent 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
overridecomprend l'utilisateur qui tente d'établir une connexion de base de données dans les attributsincludeusers. - La configuration
overridene comprend pas les attributsincludeusersouexcludeusers. - La configuration
overridea un attributexcludeusersqui n'a pas l'utilisateur spécifié.
ignoreuserpassest inclus dans l'un des remplacements, l'élément s'applique après que la configuration appropriéeoverrideà utiliser est déterminée. - La configuration
Le fragment suivant spécifie une configuration de remplacement :
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 :<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>- Valeur
MYSCHEMAde la propriétécurrentSchema. - Valeur
jdbc:db2://localhost:50000/mallde la propriétéjdbcurl.
prodmallest spécifié, la configuration de remplacement assure qu'aucun élémentpropertyoujdbcurlde type base de données s'applique. Au lieu de cela, l'utilitaire appelant utilise la valeurjdbc:db2://prodserver:50000/mallpour l'élémentjdbcurlet la valeurPRODSCMAest utilisée pour l'élémentcurrentSchema. La configuration de remplacement ne remplace pas la valeur de l'élémentlogoutputdans la configuration de niveau de type de base de données. Si vous incluez un élémentlogoutputdans la configuration de remplacement, l'utilitaire appelant crée un journal de diagnostic dans les chemins définis dans chaque élémentlogoutput.
Remplacements de propriétés de configuration
-sourcedb et -destdb :-sourcedb mall
-sourcedb localhost:50000/mall
-sourcedb jdbc:db2://localhost:50000/mallPour 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.jdbc.- 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
clientRerouteAlternateServerName=[comma separated host list]
clientRerouteAlternatePortNumber=[comma separated port list]
enableAlternateServerListFirstConnect=true
enableSysplexWLB=trueSi 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.
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>