Migrer d'une base de données X à une base de données Y en ligne de commandes

Guide d'installation de Talend Data Services Platform pour Linux

EnrichVersion
6.5
EnrichProdName
Talend Data Services Platform
task
Installation et mise à niveau
EnrichPlatform
Talend Repository Manager
Talend Log Server
Talend Runtime
Talend Installer
Talend Data Preparation
Talend Administration Center
Talend Activity Monitoring Console
Talend Data Stewardship
Talend DQ Portal
Talend JobServer
Studio Talend
Talend SAP RFC Server
Talend CommandLine
Talend Identity and Access Management
Talend ESB
Talend Artifact Repository

Vous pouvez vouloir migrer d'une base de données, par exemple H2, vers une autre base de données, par exemple MySQL.

Comme la base de données source est mise à jour pendant le processus de migration, il est obligatoire de la sauvegarder avant de la migrer.

L'application MetaServlet se trouve dans le dossier <TomcatPath>/webapps/<TalendAdministrationCenter>/WEB-INF/classes.

Pour ce faire, vous devez utiliser la commande MetaServlet nommée migrateDatabase.

Pour afficher l'aide de cette commande (avec les paramètres associés), vous devez saisir ce qui suit dans l'application MetaServlet :

./MetaServletCaller.sh --tac-url=<yourApplicationURL> -h migrateDatabase

Pour plus d'informations concernant l'application MetaServlet, consultez le Guide utilisateur de Talend Administration Center.

Ci-dessous, un exemple de migration entre une base données H2 et une base de données MySQL.

Pour pouvoir utiliser cette commande, vous devez au préalable la mettre sur une seule ligne.

./MetaServletCaller.sh --tac-url http://localhost:8080/org.talend.administrator --json-params='{"actionName":"migrateDatabase","dbConfigPassword":"admin","mode":"synchronous","sourcePasswd":"tisadmin","sourceUrl":"jdbc:h2:/home/Talend/6.4.1/tac/apache-tomcat-8.0.20/webapps/org.talend.administrator/WEB-INF/database/talend_administrator","sourceUser":"tisadmin","targetPasswd":"root","targetUrl":"jdbc:mysql://localhost:3306/base","targetUser":"root"}'