Instructions SQLEXEC supplémentaires
Respectez les instructions SQLEXEC suivantes :
-
Jusqu'à 20 procédures ou requêtes stockées peuvent être exécutées par entrée
TABLEouMAP. Elles s'exécutent dans l'ordre indiqué dans l'instruction parameter. -
Une connexion de base de données par l'utilisateur Oracle GoldenGate doit précéder la clause
SQLEXEC. Utilisez les paramètresSOURCEDBetUSERIDALIASdans le fichier de paramètres d'extraction ou les paramètresTARGETDBetUSERIDALIASdans le fichier de paramètres de réplication, selon vos besoins pour le type de base de données et la méthode d'authentification configurée. -
Le code SQL est exécuté par l'utilisateur Oracle GoldenGate. Cet utilisateur doit disposer du privilège nécessaire pour exécuter des procédures stockées et appeler des procédures fournies par RDBM.
-
Les opérations de base de données dans une procédure ou une requête stockée sont validées dans le même contexte que la transaction d'origine.
-
N'utilisez pas
SQLEXECpour mettre à jour la valeur d'une colonne de clé primaire. SiSQLEXECest utilisé pour mettre à jour la valeur d'une colonne de clé, le processus de réplication ne pourra pas effectuer une opération de mise à jour ou de suppression ultérieure car la valeur de clé d'origine ne sera pas disponible. Si une valeur de clé doit être modifiée, vous pouvez mettre en correspondance la valeur de clé d'origine avec une autre colonne, puis indiquer cette colonne avec l'optionKEYCOLSdu paramètreTABLEouMAP. -
Pour Db2, Oracle GoldenGate utilise la fonction
SQLExecDirectODBC pour exécuter une instruction SQL de manière dynamique. Cela signifie que le serveur de base de données connecté doit pouvoir préparer l'instruction de manière dynamique. ODBC prépare l'instruction SQL chaque fois qu'elle est exécutée (à l'intervalle demandé). En général, cela ne pose pas de problème aux utilisateurs Oracle GoldenGate. Pour plus d'informations, reportez-vous à la documentation IBM Db2. -
Tous les noms d'objet dans une instruction
SQLEXECdoivent être entièrement qualifiés avec leurs noms en deux ou en trois parties, selon les besoins de la base de données. -
Tous les objets affectés par une requête ou une procédure stockée
SQLEXECdoivent exister avec les structures correctes avant l'exécution de l'instruction SQL. Par conséquent, les instructions LDD sur ces objets qui affectent la structure (telles queCREATEouALTER) doivent se produire avant l'exécution deSQLEXEC. -
Tous les objets affectés par une instruction
SQLEXECautonome doivent exister avant le démarrage des processus Oracle GoldenGate. Pour cette raison, la prise en charge des instructions LDD doit être désactivée pour ces objets. Sinon, les opérations LDD peuvent modifier la structure ou supprimer l'objet avant que la procédure ou la requêteSQLEXECne s'exécute dessus.