Indiquer des noms d'objet dans l'entrée Oracle GoldenGate
Les règles suivantes s'appliquent lors de la spécification de noms d'objet dans des fichiers de paramètres (tels que dans les instructions TABLE et MAP), des fonctions de conversion de colonne, des commandes et d'autres entrées.
Spécification des noms de chemin du système de fichiers dans les fichiers de paramètres sur les systèmes Windows
Sur les systèmes Windows, si le nom d'un répertoire dans un nom de chemin de système de fichiers commence par un nombre, le chemin doit être spécifié avec des barres obliques, et non des barres obliques, lors de la liste de ce chemin dans l'entrée Oracle GoldenGate, telles que les fichiers de paramètres ou les commandes. Cette exigence empêche Oracle GoldenGate d'interpréter le nom comme une séquence d'échappement octale. Par exemple, les chemins suivants contiennent un répertoire nommé \2023 qui sera interprété comme la séquence octale \202 :
C:\deployments\ea
C:\deployments\north\ea
C:\deployments\north\2023\ea
Le chemin précédent peut être utilisé avec des barres obliques comme suit :
C:/deployments/ea
C:/deployments/north/ea
Pour plus d'informations, voir Prise en charge des séquences d'échappement.
Spécification de noms contenant des barres obliques
Si un nom de table contient une barre oblique (/) dans une partie de son nom, ce composant de nom doit être placé entre guillemets, sauf si le nom de l'objet provient d'une plate-forme IBM i . Voici des exemples :
"c/d"
"/a".b
a."b/"
Si le nom contient une barre oblique qui n'est pas placée entre guillemets, Oracle GoldenGate le traite comme un nom provenant de la plate-forme IBM i (à partir d'un fichier DB2 pour la base de données i). La barre oblique du nom est interprétée comme un caractère de séparation.
Indiquer des noms d'objet de base de données sensibles à la casse
Oracle GoldenGate prend en charge les noms sensibles à la casse. Suivez ces règles lorsque vous spécifiez des objets sensibles à la casse.
-
Indiquez les noms d'objet d'une base de données sensible à la casse dans la même casse que celle utilisée pour les stocker dans la base de données hôte. Gardez à l'esprit que, dans certains types de base de données, différents niveaux de la base de données peuvent être sensibles à la casse, par exemple un schéma sensible à la casse mais une table non sensible à la casse. Si la base de données requiert des guillemets pour appliquer la distinction majuscules/minuscules, placez les guillemets autour de chaque objet sensible à la casse dans le nom qualifié.
Corriger :
TABLE "Sales"."ACCOUNT"Incorrect :
TABLE "Sales.ACCOUNT" -
Oracle GoldenGate convertit les noms sans distinction majuscules/minuscules en casse dans lesquels ils sont stockés lorsque cela est nécessaire à des fins de mise en correspondance.
Le Table 9-17 présente la prise en charge de la sensibilité à la casse dans les noms d'objet, par base de données prise en charge. Pour plus d'informations sur ce type de support, reportez-vous à la documentation de la base de données.
Tableau 17 Sensibilité à la casse des noms d'objet par base de données
| Base de données | Nécessite des guillemets pour appliquer la distinction majuscules/minuscules ? | Nom d'objet sans guillemets | Nom d'objet entre guillemets |
|---|---|---|---|
| DB2 | Oui. Différencie les majuscules/minuscules et les minuscules à l'aide de guillemets. | Ne tenant pas compte de la casse, stocke les majuscules | Sensible à la casse, stocke les données en majuscules/minuscules |
MySQL (base de données sensible à la casse) |
Non
|
Aucun effet | Aucun effet |
| Oracle AI Database | Oui. Différencie les majuscules/minuscules et les minuscules à l'aide de guillemets. | Ne tenant pas compte de la casse, stocke les majuscules | Sensible à la casse, stocke les données en majuscules/minuscules |
SQL Server (Base de données créée en respectant la casse) |
Non Toujours sensible à la casse, stocke en majuscules/minuscules |
Aucun effet |
Aucun effet |
SQL Server (Base de données créée sans tenir compte de la casse) |
Non Toujours sans distinction majuscules/minuscules, stocke en majuscules/minuscules |
Aucun effet | Aucun effet |
| Teradata | Non Toujours sans distinction majuscules/minuscules, stocke en majuscules/minuscules |
Aucun effet | Aucun effet |
Remarque : pour toutes les bases de données prises en charge, les mots de passe sont toujours traités comme sensibles à la casse, que le nom d'objet associé soit entre guillemets ou non.
Différencier les noms de colonne sensibles à la casse des littéraux
Par défaut, Oracle GoldenGate suit les règles SQL-92 pour la spécification des noms de colonne et des littéraux. Dans les fichiers de paramètres Oracle GoldenGate, les fonctions de conversion, les exits utilisateur et les commandes, les noms de colonne sensibles à la casse doivent être placés entre guillemets doubles si la base de données requiert des guillemets autour d'un nom pour prendre en charge la distinction majuscules/minuscules. Exemple :
"columnA"
Les noms de colonne sensibles à la casse dans les bases de données qui ne nécessitent pas de guillemets pour appliquer la distinction majuscules/minuscules doivent être indiqués car ils sont stockés dans la base de données. Exemple :
ColumnA
Les littéraux doivent être placés entre apostrophes. Dans l'exemple suivant, Product_Code est un nom de colonne sensible à la casse dans une base de données Oracle AI Database et les autres chaînes sont des littéraux.
@CASE ("Product_Code", 'CAR', 'A car', 'TRUCK', 'A truck')