Automatiser les fonctionnalités du Manager
Toutes les actions généralement effectuées dans l'interface du Manager (jusqu'à la distribution d'un modèle), peuvent être automatisées dans un fichier de script. Toutes les sources et toutes les cibles supportées par le Manager sont également supportées dans le fichier de script.
Pourquoi et quand exécuter cette tâche
Les actions que vous pouvez automatiser sont les suivantes :
- démarrage et arrêt de la journalisation de la base de données,
- création et suppression d'un environnement,
- création et suppression d'un modèle,
- ajout et suppression de tables,
- création et suppression d'une cible,
- démarrage, arrêt et arrêt forcé de la distribution d'un modèle,
- reprise en chargement sur la distribution.
Procédure
- Pour créer le fichier de script, ouvrez un fichier .txt.
-
Alimentez-le en fonction des commandes suivantes et de leur syntaxe :
Note InformationsRemarque : Vous pouvez ajouter autant de commandes que nécessaire dans un même fichier de script (par exemple, vous pouvez vous connecter à plusieurs bases de données sources et créer plusieurs distributions). Vous pouvez également créer un fichier de script pour chaque type de source. Cela dépend de vos besoins.
Command Description Détails et syntaxe : comment line ou:this is a comment line: this is a comment lineconnect source Permet de se connecter à la base de données source L'entrée Type fait référence à l'une des bases de données supportées en source (AS400, MS SQL Server, Oracle, OpenEdge, PostgreSQL, MySQL, MariaDB). Trois commandes différentes sont utilisées :- Pour une source AS400 IBMi :
connect IpAddress/AS400/ - Pour des sources MS SQL Server et Oracle :
connect IpAddress/Type/Instance - Pour des sources MariaDB, MySQL, PostgreSQL et OpenEdge :
connect IpAddress/Type/DB_Name
start journalization où storage_path est le dossier situé sur la même machine que le moteur, utilisé pour le stockage des fichiers .JRN.start-journalisation Database = <database_name> StoragePath = <storage_path> end-journalisationselect-env Permet de sélectionner un environnement Utilisez cette commande uniquement si vous souhaitez utiliser un environnement déjà créé dans le Manager.
select-env envidcreate env Permet de créer et de sélectionner un environnement La valeur par défaut est utilisée si aucun paramètre n'est spécifié create-env envid EnvType := 2 :0 = Production 'default :1 = Test :2 = Training :3 = Model :4 = Deployment Description := SFEnvirt Training 01 Hold := 0 :0 = False :default :1 = True SrcId := S01 Tempo := 1 Retry := 5 end-createcreate metadata Permet de créer des métadonnées pour cet environnement Principalement pour les variables JSON utilisées pour les sources de type Streaming (Kafka, Kinesis, Snowflake). Le script JSON est ensuite inclus dans la commande create model. select-env envid create-metadata #variable1# := metavalue1 #variable2# := metavalue2 #variable3# := metavalue3 end-createselect model Permet de sélectionner un modèle select-env envid select-model grpidcreate model Permet de créer et de sélectionner un modèle La valeur par défaut est utilisée si aucun paramètre n'est spécifié Source AS400 Autres sourcesselect-env envid create-model grpid GrpType := 0 :0 = Journal :1 = Extract Description := SFo-Replication a l'identique iASPgroup := *NONE LibJrn := DD_TRAING JrnName := JOURNAL ManualDistrib := 0 :0 = False :default :1 = True AllMembers := 0 :0 = False :default :1 = True AccesMode := 3 :0 = Auto :default :1 = RRN :2 = Index Key :3 = SQL :4 = Backup OrpheanMgt := 0 :0 = False :default :1 = True ContError := 0 :0 = False :default :1 = True Repair := 1 :0 = No :1 = Yes :default :2 = Skip :3 = Yes with trace DDLchange := 1 :0 = No :1 = Ignore :2 = Yes :3 = Yes Alter no Drop :default :4 = Yes Alter with Drop Truncate := 1 :0 = No :1 = Yes :default :2 = Ignore RGZPFM := 2 :0 = No :1 = Yes :2 = Ignore :default ADDPFM := 2 :0 = No :1 = Yes :2 = Ignore :default RMVMBR := 2 :0 = No :1 = Yes :2 = Ignore :default DLTF := 0 :0 = No :default :1 = Yes NullProcess := 0 :0 = No :default :1 = Yes DateAschar := 0 :0 = No :default :1 = Yes MetaScript := Begin script MetaScript := End end-createcreate-model grpid GrpType := 0 :0 = Journal :1 = Extract Description := SFo-Replication a l'identique DataBase := DD_TRAINING ManualDistrib := 0 :0 = False :default :1 = True AllMembers := 0 :0 = False :default :1 = True AccesMode := 3 :0 = Auto :default :1 = RRN :2 = Index Key :3 = SQL :4 = Backup OrpheanMgt := 0 :0 = False :default :1 = True ContError := 0 :0 = False :default :1 = True Repair := 1 :0 = No :1 = Yes :default :2 = Skip :3 = Yes with trace DDLchange := 1 :0 = No :1 = Ignore :2 = Yes :3 = Yes Alter no Drop :default :4 = Yes Alter with Drop Truncate := 1 :0 = No :1 = Yes :default :2 = Ignore NullProcess := 0 :0 = No :default :1 = Yes DateAschar := 0 :0 = No :default :1 = Yes MetaScript := Begin script MetaScript := End end-createselect-table Permet de sélectionner une table select-env envid select-model grpid select-table tableidadd-table Permet d'ajouter une table au modèle sélectionné
L'Id est l'identifiant unique (numérique compris entre 1 et 9999999999) de la table dans ce modèle.
Grâce à cet Id, une table peut être ajoutée plusieurs fois avec différents identifiants.
Source AS400
Autres sourcesselect-env envid select-model grpid add-table Library FileName [TargetTableName] [Id:nn]select-env envid select-model grpid add-table TableName [TargetTableName][Id:nn]select target select-env envid select-target tgtidcreate target Permet de créer et de sélectionner une cible select-env envid create-target tgtid Description := My DD machine NewSourceId := : blank is default TargetType := 1 : 0 = IBM I : 1 = Windows :default Hold := 0 :0 = False :default :1 = True TargetName := MyVM TargetAdress := 192.168.0.0 end-createdistribute model Permet de distribuer le modèle dans la cible select-env envid select-model grpid select-target tgtid distribute Hold := 0 :0 = False :default :1 = True scheduled := 0 :0 = False :default :1 = True TgtBDType := 0 :0 = IBMi :1 = SQL Server '2 = Oracle ODBC :5 = ODBC :8 = PostgreSQL :9 = Text :A = MySQL :B = DB2 LUW :C = XML :D = SyBase :E = Oracle OCI :F = SQL Server Bi-Directional :G = OpenEdge :H = SQLite :J = MySQL Latin :K = MySQL Native :L = PostgreSQL Native :M = SQLite NAtive :N = GreenPlum :O = Netezza :P = Vectowise MicroBatch :Q = VectorWise :R = NuoDB :S = Altibase :T = Iseries Access :V = Kafka :k = Kinesis :W = Hana :X = Teradata :Y = SalesForce :Z = MariaDB :b = MariaDB Latin :c = MariaDB Native :d = Azure SQL :e = Azure Event Hub :g = Azure Service Bus :i = SnowFlake UseLibName := 0 :0 = FileName :default :1 = BDName_FileName :2 = BDName..FileName or BD.FileName TargetDB := MyDatabase LoadByFlatFile := 0 :0 = False :default :1 = True PathForFlatFile := #if Kinesis or kafka or servicebus or eventhub Target Format := J :default 'J = Json 'A = Avro 'F = Fixed 'D = Delimited FieldNameOn1st := 0 :0 = False :default :1 = True FieldSep := ; :tab = tabulation :; = semicolon :default :, = colon : … 1 character TextSep := " :1 character LineSep := 2 :1 = <CR> :2 = <CR><LF> 'default :3 = <LF> :4 = ; :5 = , :6 = tabulation :7 = nothing DateFormat := 2 '0 = DMY '1 = MDY '2 = YMD 'default '3 = YDM '4 = DYM '5 = MYD YearIn4Digits := 1 :0 = False :1 = True :default DateDelimiter := / :default 1 character TimeDelimiter := : :default 1 character DecimalSep := . :default 1 character kdsConnectString := region=eu-west-3; accesskey={0B733EDD1CF71}; secretkey={0B733EDD1CF71} #elseif SnowFlake Target sfAccount := AB65262.west-europe.azure sfConnectString := DSN=SnowFlakes;UID=gammadev; PWD={0B733EDD1CF71}; CodePage=e297UTF8.cpg; sfPathForTextFile := D:\DD_FILE\AS400\M3P sfCommandFile := LoadData.cmd %s %s 1 sfMaxRecord := 0 sfMaxTime := 5 #else ConnectString := DSN=… #endif #endif Planning := 000..000 sequence of 168 digits (0 or 1) for the 168 hours of a week with 0 = inactive, 1=active. The first digit represents Monday from 0 AM to 1 AM RecoveryType := :Blank is nothing :C = Load :P = Sequence CaseSensitive := 0 :0 = False :default :1 = True CacheSize := 0 :0 = 32Ko :default :1 = 128K0 :2 = 256Ko = 128*2 :3 = 512Ko = 256*2 .. :7 = 8Mo #if AS400 source RecoveryLib := #endif RecoveryReceiver := Sequence := end-distributechange-distributed-table Permet de modifier les propriétés de la table distribuée D'abord, utilisez les commandes de sélection :
Ensuite, modifiez les propriétés de la table distribuée :select-model grpid select-target tgtidchange-distributed-table ficid TargetDBName TargetTableNameSi vous ne souhaitez modifier que le nom de la table cible, saisissez :
change-distributed-table ficid default TargetTableNameadd query to table Permet d'ajouter la requête à la table sélectionnée Note InformationsRemarque : Uniquement pour les sources NT.D'abord, utilisez les commandes de sélection :select-env envid select-model grpid select-table tableidEnsuite, ajoutez la requête à la table :
begin-script-where :Some query after where clause SALESNUM = '1' AND PROMOKEY > 10 end-script-whereadd transformation to the table Permet d'ajouter la transformation à la table sélectionnée D'abord, utilisez les commandes de sélection : Ensuite, ajoutez la transformation à la table :select-env envid select-model grpid select-table tableidLes lignes DCL sont des lignes par défaut. Elles s'affichent dans la liste si aucune autre déclaration n'est saisie. Si vous souhaitez ajouter des lignes DCL en plus de celles par défaut, vous pouvez les ajouter au bloc de transformation. Les lignes DCL par défaut sont automatiquement supprimées de la liste et seules les nouvelles sont prises en compte.begin-transformation DCL O.SALESNUM Char 20 NULL Rtrim KEYORDER 1 DCL O.PROMOKEY Numeric 10,0 NULL Same if I.SALESNUM = '1' Then O.PROMOKEY = 1 O.SALESNUM = I.SALESNUM Endif end-transformationNote InformationsRemarque : Entre begin-transformation et end-transformation, les commentaires sont indiqués par /* uniquement.stop distribution Permet d'arrêter la distribution du modèle select-env envid select-target tgtid stop-distribution grpidkill distribution Permet d'arrêter de manière forcée la distribution d'un modèle select-env envid select-target tgtid kill-distribution grpiddelete distribution Permet de supprimer la distribution d'un modèle select-env envid select-target tgtid delete-distribution grpiddelete target Permet de supprimer une cible select-env envid delete-target tgtiddelete model Permet de supprimer un modèle select-env envid delete-model grpiddelete table Permet de supprimer une table select-env envid select-model grpid delete-table tableiddelete environment Permet de supprimer un environnement delete-env envidstop journalization Permet d'arrêter la journalisation d'une base de données dejournalise dbid - Pour une source AS400 IBMi :
- Sauvegardez le fichier.
-
Lancez une invite de commande et saisissez les commandes suivantes :
>cd TalendChangeDataCaptureDestinationPath. Appuyez sur Entrée.DDmanager -cicd "ScriptFilePath". Appuyez sur Entrée.
Résultats
Si vous souhaitez voir le résultat : démarrez le Manager et souscrivez à la source, puis connectez-vous à la source. Pour plus d'informations, consultez Gérer la souscription et la connexion aux sources. Pour commencer le processus de réplication, suivez les étapes de la section Opérer et superviser une réplication.
Pour voir les logs relatifs au lancement du script, ouvrez le fichier DDMGRAUTO.log, situé dans le référentiel DestinationPath (le même que pour le fichier .exe du Manager).
Pour planifier le lancement de toutes les réplications, vous pouvez configurer le Scheduler (consultez Démarrage automatique des réplications).
Dans cette section
Cette page vous a-t-elle aidé ?
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.