Réplication des colonnes d'identité de base de données Db2
Il existe un certain nombre de problèmes à prendre en compte lors de la réplication des deux types de colonnes d'identité DB2® LUW pris en charge par CDC Replication Engine for Db2® Database : celles qui sont GENERATED ALWAYS et celles qui sont GENERATED BY DEFAULT.
Colonnes d'identité GENERATED ALWAYS
Vous pouvez mapper des colonnes d'identité GENERATED ALWAYS dans les tables source à une colonne cible dans Management Console.
Les colonnes GENERATED ALWAYS dans les tables cible sont en lecture seule et ne peuvent pas être mappées.
Colonnes d'identité GENERATED BY DEFAULT
CDC Replication gère les colonnes d'identité GENERATED BY DEFAULT dans les tables source de la même manière que les colonnes sans la propriété d'identité. La valeur d'une colonne source est conservée lorsqu'elle est mappée à une colonne d'identité cible. Les colonnes d'identité cible utiliseront la valeur fournie par la base de données si vous définissez la valeur initiale de la colonne sur Base de données par défaut. Pour plus d'informations sur la définition de la valeur initiale d'une colonne cible sur Database Default, voir la documentation de Management Console .
Lors de la réplication de données depuis ou vers des tables contenant des colonnes d'identité GENERATED BY DEFAULT, tenez compte des éléments suivants :
- Toute colonne dont la valeur initiale du mappage est définie sur Database Default n'est pas appliquée par CDC Replication. CDC Replication ignore la colonne lors de l'application des données et la base de données fournit une valeur.
- Vous ne pouvez pas faire référence à une colonne d'identité cible dont la valeur initiale est définie sur Base de données par défaut dans une expression. Il n'existe aucune restriction sur les colonnes source dans un scénario similaire.
- Les exits utilisateur ne peuvent pas accéder aux données d'une colonne cible dont la valeur initiale est Database Default dans Management Console.
Exits utilisateur et colonnes d'identité
isDataAvailable(int) dans l'API CDC Replication peut être utilisé dans un exit utilisateur pour déterminer s'il existe des données pour une colonne spécifique. Cette méthode renvoie la valeur false pour une colonne cible avec une valeur initiale définie sur Database Default dans Management Console. Une exception est émise si vous tenez d'extraire la valeur à partir d'une
colonne qui est mappée à une colonne d'identité cible.