Multi-Instance de bases de données avec M-Connect

De MappingDoc


Présentation / Objectif

Cette documentation présente l’utilisation dans un même report de 1 à n bases de données différentes.

Pré-requis

  • Connaître le fonctionnement de MapReport.
  • Connaître les adresses IP, comptes utilisateurs et mots de passe des différentes bases de données.
  • Avoir installé au minimum la partie client de la base de donnée.

Configuration serveur

Dans le fichier mapping.conf, vous devez définir au minimum une connexion par défaut :

  • [MAPREPORT_SERVERPASSWORD] coginord
  • [MAPREPORT_SERVERUSER] root
  • [MAPREPORT_SERVERPORT] 3306
  • [MAPREPORT_SERVERADDRESS] 127.0.0.1
  • [MAPREPORT_SERVERTYPE] mysql

Ensuite, vous devez ajouter pour chaque paramètre de configuration MapReport un suffixe commencent obligatoirement par un souligné « _ »

Exemple : Vous désirez créer un environnement ENV1 et un environnement ENV2 :

  • [MAPREPORT_SERVERPASSWORD_ENV1] coginord
  • [MAPREPORT_SERVERUSER_ENV1] root
  • [MAPREPORT_SERVERPORT_ENV1] 3306
  • [MAPREPORT_SERVERADDRESS_ENV1] 192.168.1.1
  • [MAPREPORT_SERVERTYPE_ENV1] mysql

  • [MAPREPORT_SERVERPASSWORD_ENV2] coginord
  • [MAPREPORT_SERVERUSER_ENV2] root
  • [MAPREPORT_SERVERPORT_ENV2] 3306
  • [MAPREPORT_SERVERADDRESS_ENV2] 192.168.1.2
  • [MAPREPORT_SERVERTYPE_ENV2] mysql

Utilisation dans Mapreport

Déclarer une variable DB.MAPPING_INSTANCE

Il faut tout d'abord créer une variable MAPPING_INSTANCE dans le noeud DB.
Pour cela, dans la vue des éléments, étendre "Paramètres MAPRUNRPT" puis double cliquer sur "MAPPING_INSTANCE".
La variable de type paramètre d'entrée sera automatiquement créée dans DB. (type ____abcd de longueur 255)

Spécifier l'instance à utiliser

Dans MapReport, pour basculer d’un environnement à l’autre vous devez préciser l’instance à utiliser :

DB.MAPPING_INSTANCE=’ENV1’ ou DB.MAPPING_INSTANCE=’ENV2’

Changement d’instance à la volée :

Avant chaque read ou calcul de type sql, il suffit d’ajouter

DB.MAPPING_INSTANCE=’ENV1’

Warning-300px.png A partir du moment où vous décidez d’utiliser le changement d’instance, il vaut mieux toujours préciser l’instance à utiliser pour éviter de lire une mauvaise base de donnée.

Passage de paramètre à l'exécution

Si vous désirez utiliser un environnement spécifique pour tout le projet, vous pouvez le préciser au moment du lancement de la commande maprunrpt.
Exemple :

maprunrpt –rptname:MYRPT -param:DB.MAPPING_INSTANCE=ENV1