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 line
connect 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-journalisation
select-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 envid
create 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-create
create 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-create
select model Permet de sélectionner un modèle select-env envid select-model grpid
create 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-create
create-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-create
select-table Permet de sélectionner une table select-env envid select-model grpid select-table tableid
add-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 tgtid
create 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-create
distribute 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-distribute
change-distributed-table Permet de modifier les propriétés de la table distribuée D'abord, utilisez les commandes de sélection :
select-model grpid select-target tgtid
change-distributed-table ficid TargetDBName TargetTableName
Si vous ne souhaitez modifier que le nom de la table cible, saisissez :
change-distributed-table ficid default TargetTableName
add 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 tableid
Ensuite, ajoutez la requête à la table :
begin-script-where :Some query after where clause SALESNUM = '1' AND PROMOKEY > 10 end-script-where
add transformation to the table Permet d'ajouter la transformation à la table sélectionnée D'abord, utilisez les commandes de sélection : select-env envid select-model grpid select-table tableid
Les 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-transformation
Note 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 grpid
kill distribution Permet d'arrêter de manière forcée la distribution d'un modèle select-env envid select-target tgtid kill-distribution grpid
delete distribution Permet de supprimer la distribution d'un modèle select-env envid select-target tgtid delete-distribution grpid
delete target Permet de supprimer une cible select-env envid delete-target tgtid
delete model Permet de supprimer un modèle select-env envid delete-model grpid
delete table Permet de supprimer une table select-env envid select-model grpid delete-table tableid
delete environment Permet de supprimer un environnement delete-env envid
stop 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.