Conditions requises pour des tables de bases de données personnalisées
Si vous avez personnalisé votre schéma de base de données en créant de nouvelles tables, vous devez vous conformer aux exigences suivantes pour l'utilisation du serveur de transfert :
- Vous devez définir une clé primaire ou un index à entrées uniques.
Le serveur de transfert fonctionne grâce à la clé. Pour éviter d'enregistrer
trop de données dans la table STAGLOG, n'enregistrez
que la clé (clé primaire ou index à entrées uniques). Les utilitaires de transfert
utilisent la clé pour la compression et pour rechercher les données à propager. En l'absence de clé, ces utilitaires ne peuvent pas fonctionner.
- Un cycle de contrainte d'intégrité référentielle (RI) se produit au sein des tables.
Le serveur de transfert propage la table parente avant la table enfant. En cas
d'existence d'un cycle de contrainte RI, le serveur de transfert ne peut pas établir
de distinction entre les tables parente et enfant.
- Les tables de base de données ne contiennent que des données de configuration.
Dans un scénario "entre entreprise et consommateur", les données de configuration
data sont contrôlées par l'administrateur de site, c'est le cas des catalogues et
des entrées de catalogue. Si une base de données contient des données d'exploitation,
un utilisateur peut modifier la même table dans une base de données de production
après qu'un administrateur de site ait copié la table dans la base de données de
transfert. Cette opération provoque un conflit de clé potentiel ou une violation de contrainte RI.
- Les tables de base de données ne peuvent contenir aucune référence
à des tables d'exploitation.
Les tables à propager ne doivent pas contenir aucune référence de clés étrangères
vers des clés primaires des tables d'exploitation. Si de telles
références existent, les données ne peuvent pas être restaurées dans la base de
données produit dans le cas où un client supprimerait la clé primaire
après la copie de transfert.
Un déclencheur d'insertion ne peut exister lors de l'insertion de deux
tables dans la base de données de production.
Lorsque deux tables sont gérées par le serveur de transfert (par exemple, R1 et R2), il ne peut
pas y avoir de déclencheur entraînant l'insertion des lignes dans R1 ou R2 au
cours de l'insertion dans R2 et R1 de la base de données de production. Le déclencheur
d'insertion crée la mise à jour dans les deux bases de données et génère des erreurs liées à la clé.
- La table MEMBER ne peut pas avoir d'index à entrées uniques.
- Des restrictions sur les suppressions doivent être utilisées avec précaution
dans les tables de base de données personnalisées.
La restriction sur les suppressions limite la performance de l'utilitaire de
nettoyage de base de données. Vous pouvez également rencontrer des
problèmes au cours du nettoyage de la base de données de transfert. Avant de pouvoir
nettoyer la base de données de transfert, vous devez utiliser manuellement
l'instruction de l'utilitaire de nettoyage de base de données pour nettoyer les
tables. Dans le cas contraire, le nettoyage de la base de
données de transfert ne pourra être effectué.
Pour préparer le serveur de transfert pour les tables personnalisées, reportez-vous
à la rubrique
Configuration du serveur de transfert pour les tables personnalisées.