MapReport Configuration
MAPPING : Configuration de bases de données pour MapReport
Sommaire
- 1 Présentation / Objectif
- 2 Pré-requis
- 3 Configuration de la base de données
- 3.1 ORACLE
- 3.2 Messages d’erreur
- 3.3 Utilisation de plusieurs instances
- 3.4 Informations utiles sur Oracle
- 3.5 Test de connexion sous un utilisateur autre que oracle
- 3.6 Informations sqlplus
- 3.7 MYSQL
- 3.7.1 Procédure d'installation de MySQL
- 3.7.2 Démarrage du serveur MySQL
- 3.7.3 Arrêt du Serveur
- 3.7.4 Lancement d'une session utilisateur
- 3.7.5 Pour lister les databases
- 3.7.6 Pour utiliser une base
- 3.7.7 Pour lister les tables
- 3.7.8 Pour voir les informations sur une table
- 3.7.9 Pour créer un index
- 3.7.10 Pour créer une database
- 3.7.11 Pour détruire une database
- 3.7.12 Pour créer une table
- 3.7.13 Pour détruire une table
- 3.8 SQL Server 2000
Présentation / Objectif
Ce document présente comment connecter le serveur Mapping à une base de données et comment générer des tables exploitables dans M-Connect.
Cette procédure est validée avec toutes les versions de M-PS Windows, M-PS Linux et M-Connect / MapReport.
Pré-requis
Niveau de connaissance produit requis pour utiliser ce document : M-PS Windows et Linux – Avancé
Configuration de la base de données
ORACLE
Oracle et Mapping sont installés sur le même serveur.
Il faut configurer dans le Menu d'Exploitation, Gestion de la configuration les variables suivantes :
- [LIB_PATH] /apps/mapping/bin
- [MAPREPORT_SERVERTYPE] oracle
- [MAPREPORT_SERVERADDRESS] nom_de_l_instance_ORCL_par_exemple
- [MAPREPORT_SERVERUSER] nom_du_user_oracle
- [MAPREPORT_SERVERPASSWORD] pwd_du_user_oracle
- [ORACLE_HOME] /u01/app/oracle/prod
Assurez-vous que vous parvenez à accéder à la base de données serveur à l’aide de sqlplus avant de configurer Mapping.
Paramètres requis dans Mapping.conf :
- [LIB_PATH] dll folder of instantclient
- [MAPREPORT_SERVERTYPE] oracle
- [MAPREPORT_SERVERADDRESS] instance_name : _ORCL
- [MAPREPORT_SERVERUSER] oracle_user_name
- [MAPREPORT_SERVERPASSWORD] oracle_pwd
- [ORACLE_HOME] dossier home: /u01/app/oracle/product/9.0.1
Vérifiez toujours la connexion en exécutant map_036 sur une ligne de commande. D’abord sans paramètres puis ensuite avec map_036 –mode:1 pour lister toutes les tables (la réponse est en HTML mais s’il y a une erreur de connexion, cela sera facilement lisible.)
Messages d’erreur
Si vous avez un problème pour la bibliothèque, contrôler [LIB_PATH] /apps/mapping/bin
Si le message suivant apparaît "Error OCILogon - Error while trying to retrieve text for error ORA-12154", il faut définir la variable d'environnement ORACLE_HOME :
- Dans le .profil de l'utilisateur lançant le report (mapadmin ou nobodyma) faire export ORACLE_HOME=/u01/app/oracle/product/9.0.1
- Ou dans la configuration de mapping.conf ajouter [ORACLE_HOME] 01/app/oracle/product/9.0.1
Si vous avez des problèmes de caractères, vérifier que la variable d’environnement NLS_LANG est correctement définie. NLS_LANG=french_france.WE8ISO8859P15
Utilisation de plusieurs instances
Pour utiliser une autre instance d'oracle, il faut faire :
export MAPREPORT_SERVERADDRESS=nom_de_l_autre_instance export MAPREPORT_SERVERUSER=nom_du_user_oracle export MAPREPORT_SERVERPASSWORD=pwd_du_user_oracle
puis lancer le maprunrpt. ou Dupliquer le fichier /etc/mapping/mapping.conf en /etc/mapping/mapping.conf.oracle_bis
Modifier dans /etc/mapping/mapping.conf.oracle_bis
[MAPREPORT_SERVERTYPE]oracle [MAPREPORT_SERVERADDRESS] nom_de_l_instance_ORCL_par_exemple [MAPREPORT_SERVERUSER] nom_du_user_oracle [MAPREPORT_SERVERPASSWORD] pwd_du_user_oracle
Puis faire
export MAPPING_PATH=/etc/mapping/mapping.conf.oracle_bis
puis lancer le maprunrpt
Informations utiles sur Oracle
Si vous avez des problèmes, à titre d'information le profil administrateur d'oracle est souvent : oracle
Il faut contrôler les variables d’environnement d’Oracle par la commande
"set | grep ORACLE"
La réponse doit être :
ORACLE_BASE=/u01/app/oracle ORACLE_DOC=/u01/app/oracle/product/9.0.1/doc ORACLE_HOME=/u01/app/oracle/product/9.0.1 ORACLE_SID=orcl
Le démarrage d'Oracle se fait de la manière suivante (sous le profil oracle, doit être sous SQLPLUS )
sqplplus /nolog connect SYS/change_on_install as SYSDBA startup exit
Le démarrage du listener d'Oracle se fait par " lsnrctl start" sous oracle (ne doit pas être sous SQLPLUS), ce qui permet la connexion depuis une machine différente.
Test de connexion sous un utilisateur autre que oracle
"sqlplus user:pwd" se connecte en local pour tester la connexion par le listner (méthode de connexion utilisée par MapReport) faire :
"sqlplus user:pwd@INSTANCE"
Creation d'un utilisateur
"create user map_user IDENTIFIED BY map_user_pwd;" "grant connect,resource to map_user;"
Donner l'autorisation d'utiliser une table d'un autre utilisateur
"grant SELECT on autre_user.table_autre_user to map_user;"
Donne les tables accessibles du user connecté
"select TABLE_NAME from user_tables;"
Informations sqlplus
Voir les erreurs
show errors;
Execution de la procédure
EXEC MAPROCEDURE;
Auto-connexion sans user/login
sqlplus alexis/alexis@ORCL
Liste des procédures disponibles
SELECT OBJECT_NAME FROM USER_PROCEDURES;
Suppression d'une procédure
DROP PROCEDURE MAPROCEDURE;
Création de la procédure
CREATE OR REPLACE PROCEDURE MAPROCEDURE AS BEGIN INSERT INTO MATABLE (MYFLOAT) VALUES(1.23); END; . RUN MAPROCEDURE; CREATE OR REPLACE PROCEDURE MAPROCEDUREINOUT (valeurin IN NUMBER, valeurout OUT NUMBER) AS BEGIN valeurout := 2 * valeurin; END; . . RUN MAPROCEDUREINOUT;
Création de la procédure select
create or replace package types as type cursorType is ref cursor; end; / CREATE OR REPLACE PROCEDURE MAPROCEDURESELECT (p_cursor in out types.cursorType) AS BEGIN open p_cursor for SELECT * FROM MATABLE; END; . RUN MAPROCEDURESELECT;
Exécution d’une procédure retournant une valeur
variable c refcursor exec MAPROCEDURESELECT ( :c ) print c variable c NUMBER exec MAPROCEDURINOUT ( 2 , :c ) print c
MYSQL
Procédure d'installation de MySQL
Sous root, télécharger la version de MySQL pour votre plateforme, exemple sur AIX (mysql-max-4.0.13-ibm-aix4.3.3.0-powerpc.tar)
shell> groupadd mysql shell> useradd -g mysql mysql shell> cd /usr/local shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf - shell> ln -s full-path-to-mysql-VERSION-OS mysql shell> cd mysql shell> scripts/mysql_install_db shell> chown -R root . shell> chown -R mysql data shell> chgrp -R mysql . shell> bin/safe_mysqld --user=mysql &
Demander à votre administrateur d'ajouter "bin/safe_mysqld --user=mysql &" dans les scripts de démarrage de votre machine
Placer le fichier libstaticmysql.so (sur AIX et LINUX) ou libmysql.so (sur HPUX) dans /apps/mapping/bin
Dans Gestion de la configuration
Sur AIX :
[MAPREPORT_SERVERTYPE] mysqlstatic
Sur LINUX :
[MAPREPORT_SERVERTYPE] mysqlstatic
Sur HPUX :
[MAPREPORT_SERVERTYPE] mysql
Indépendant de la plateforme
[MAPREPORT_SERVERADDRESS] 127.0.0.1 [MAPREPORT_SERVERUSER] root [MAPREPORT_SERVERPASSWORD] [LIB_PATH] /apps/mapping/bin
Démarrage du serveur MySQL
cd /usr/local/mysql bin/safe_mysqld --user=mysql &
Arrêt du Serveur
cd /usr/local/mysql/bin ./mysqladmin shutdown
Lancement d'une session utilisateur
cd /usr/local/mysql/bin ./mysql
Pour lister les databases
show databases;
Pour utiliser une base
use MADATABASE;
Pour lister les tables
show tables;
Pour voir les informations sur une table
describe tables;
Pour créer un index
CREATE INDEX iMonIndex ON MATABLE (NOMCHAMP);
Pour créer une database
CREATE DATABASE MADATABASE;
Pour détruire une database
DROP DATABASE MADATABASE;
Pour créer une table
CREATE TABLE MATABLE (MONCHAMP CHAR(10))
Pour détruire une table
DROP TABLE MATABLE
SQL Server 2000
Installation de SQL Server 2000
Procéder à l’installation de SQL Server 2000. La procédure par défaut est suffisante.
Connexion base de données au Serveur Mapping
Mapping ne se connecte pas directement à la base de données, mais il se connecte à un lien ODBC qui se connecte à la base de données.
Il faut donc tout d’abord créer un lien ODBC et ensuite connecter Mapping à ce lien ODBC.
Création d’un lien ODBC
- Aller dans le Panneau de configuration
- Outils d’administration / Sources de données (ODBC)
- Cliquer sur Ajouter
- Descendre jusqu'à SQL Server
- Taper le nom du lien ODBC ainsi que sa description et l’adresse/nom_DNS du serveur base de données.
- Cliquer sur Terminer et effectuer un test de connexion.
- Normalement la connexion devrait être OK.
Connexion de l’ODBC à MAPPING
- Aller sur le serveur MAPPING.
- MAPPING Operations Menu / Configuration Management
Contrôle du fonctionnement.
Pour contrôler qu'il n'y a pas de problème,
- Ouvrir une session telnet
- Puis exécuter
/apps/mapping/bin/map_036
Un message doit apparaître sans erreur.
Démarrage du serveur de développement
Sur le serveur de production, vous n'avez pas besoin de lançer ce serveur, il permet juste à l'application de développement d'obtenir une preview sur les bases réelles. Le serveur de développement est le programme /apps/mapping/bin/map_855, il tourne en tache de fond. A chaque preview, il lance un travail nommé /apps/mapping/bin/map_854.
Il utilise le port configuré dans /apps/mapping/bin/mapping.conf ou dans la gestion de la configuration en web [MAPREPORT_PORT] 6789. Vous devez configurer les postes de développement de MAPREPORT sur le bon port.
Pour le démarrer :
- En mode web, il faut aller dans le menu de MAPREPORT, puis choisir Démarrer le serveur de développement.
- En telnet, il faut faire
/apps/mapping/bin/map_855
Arrêt du serveur de développement
Pour arrêter le serveur :
- En mode web, il faut aller dans le menu de MAPREPORT, puis choisir Arrêter le serveur de développement.
- En mode telnet :
/apps/mapping/bin/map_855
Extraction des fichiers de définition de base de données
Pour extraire les définitions des bases de données :
- Utiliser l'interface Web
- Dans le Menu MAPREPORT, sélectionner Extraction définitions
Vous pouvez à partir de ce moment-là soit parcourir la base de données (pour cela cliquer sur l’icône à gauche du nom de la base de données), soit exécuter une commande SQL quelconque.
Si on clique sur la commande SQL, il faut ensuite taper la commande SQL désirée, puis cliquer sur Exécuter.
Si on clique sur l’icône, il faut ensuite sélectionner l’une des trois sous icônes.
- La base de données pour voir la structure de la table.
- La vue pour voir les 1000 premiers enregistrements de la table.
- L’extraction pour envoyer la définition de la table au format MAPREPORT.
Les descriptions sont copiées dans : /apps/mapping/import/mapreport/mapreport/MADATABASE.LIB/MATABLE.FILE
Il faut configurer le poste de développement de MAPREPORT pour utiliser /apps/mapping/import/mapreport.
Utiliser le profil administrateur de MAPPING "mapadmin" pour éviter tout problème de droits.