4. Implanter la base de données FFMC sous MYSQL

publicité
ALSI
Architecture Client/Serveur
STS2
Le middleware
Le 16/04/17
page 1/4
1. COMPETENCES A ATTEINDRE A LA FIN DU TP
Comprendre l’intérêt d’un middleware.
Mettre en œuvre un C/S de données
Mettre en œuvre un C/S de traitement
2. LE CONTEXTE
On travaille sur la base de données FFMC : Fédération Française de Moto Cross qui contient 3 tables :
ligue, club et licencié.
Les IHM sont sous ACCESS , dans FFMC_IHM.MDB.
Les données vont être implantées successivement sur les serveurs de BD MySQL puis ORACLE. On
veut montrer la facilité de mise à jour des clients si on utilise un middleware : ODBC.
3. ETAPES DU TP
Implanter la base de données FFMC
sous MySQL
Client ACCESS pour la BD MySQL
Implanter la base de données FFMC
sous ORACLE.
Client ACCESS pour la BD ORACLE
 Créer une base de données sous MySQL
 Exécuter les scripts de création des tables
 Exécuter les scripts de création des données
 Paramètrer une DSN système pour MySQL
 Lier les tables dans ACCESS
 Créer une base de données sous MySQL
 Exécuter les scripts de création des tables
 Exécuter les scripts de création des données
 Installer la connexion Client Oracle/Serveur Oracle
avec Oracle Net
 Paramètrer une DSN système pour Oracle
 Lier les tables dans ACCESS
4. IMPLANTER LA BASE DE DONNEES FFMC SOUS MYSQL
On travaille à partir de l’interface texte de MySQL.
Créer une base de données
Exécuter le script de création des tables :
Vérifier la création des tables
Exécuter le script de création des données :
Vérifier la création des lignes
D:\769801336.doc
CREATE DATABASE BDFFMC ;
USE BDFFMC ;
SOURCE Mysql\CreBdFfmc.sql ;
SHOW TABLES ;
SOURCE Mysql\InsertBDFFMC.sql ;
SELECT * FROM LICENCIE ;
ALSI
Architecture Client/Serveur
STS2
Le middleware
5. PARAMETRER UNE DSN SYSTEME POUR MYSQL
D:\769801336.doc
Le 16/04/17
page 2/4
ALSI
Architecture Client/Serveur
STS2
Le middleware
Le 16/04/17
page 3/4
6. CLIENT ACCESS POUR LA BD MYSQL
Ouvrir ffmc_ihm.mdb dans ACCESS
Lier les tables :
1. Sur l’onglet tables, clic droit et choisir Lier les tables
Ou à partir de menu fichier\Données externes\ Lier les tables
2. Dans la boite de dialogue Attacher : Choisir ODBC databases puis votre DSN : DsnBDFFMC.
3. L’IHM vous propose la liste des tables existantes dans la base.
4. Attacher toutes les tables
Tester le formulaire et la mise à jour des données
 à partir du client
 à partir du serveur
7. IMPLANTER LA BASE DE DONNEES FFMC SOUS ORACLE
On travaille à partir de SQLPlus.
Créer un utilisateur
Exécuter le script de création des tables :
Vérifier la création des tables
Exécuter le script de création des données :
Vérifier la création des lignes
CREATE USER AdminFFMC …;
Connect AdminFFMC…
START oracle\CreBdFfmc.sql ;
SELECT TABLE_NAME FROM TABS ;
START oracle\InsertBDFFMC.sql ;
SELECT * FROM LICENCIE ;
8. ADMINISTRER LA BD SOUS ORACLE
8.1. Installer la connexion Client Oracle/Serveur Oracle avec Oracle Net
Pour que le client puisse se connecter au Serveur Oracle, il faut paramétrer le middleware propriétaire
d’Oracle : Oracle Net.
Lancer l’interface graphique Assistant Configuration Oracle Net
Saisir un nom de connexion (équivalent au DSN) et paramétrer la connexion : protocole de transport et
serveur cible. (couches du modèle OSI voisines du middleware)
Architecture à obtenir :
SQLPLus
SQLPlus Client
CnxORACLE
Middleware propriétaire Oracle Net
8.2. Tester la base directement avec le serveur Oracle
A partir de SQLPLus, tester l’accès à la table LICENCIE par un
SELECT * FROM licencie ;.
D:\769801336.doc
ORACLE
Serveur
SGBD
ALSI
Architecture Client/Serveur
STS2
Le middleware
Le 16/04/17
page 4/4
8.3. Reparamètrer la DSN ODBC pour Oracle au lieu de MySQL
Architecture à obtenir :
Access
Client
DsnBdFFMC
Middleware ODBC
CnxOracle
Middleware Oracle Net
ORACLE
Serveur
SGDB
8.4. Tester les IHM à partir du client FFMC_IHM.MDB
Idem à MySQL
9. SE CONNECTER A UNE AUTRE BD ORACLE
En principe, chaque BD ne dispose que des données de son club.
Que faut-il faire pour se connecter aux données de la BD de votre voisin ?
10. EXECUTER UNE PROCEDURE A PARTIR DU CLIENT
La BD Oracle dispose d’une procédure Stat qui copie dans une table les licenciés ayant eu au moins 1
victoire. Lancer cette procédure à partir de ACCESS.
En l’intégrant dans une requête ACCESS :
En l’intégrant dans le code VBA d’un formulaire :
Dim MyDB As Database
Dim MyQuery As QueryDef
'Initialisations
Set MyDB = CurrentDb()
Set MyQuery = MyDB.CreateQueryDef("NomRequete")
MyQuery.Connect = "ODBC;DSN= ????;UID= ???;PWD=????;
MyQuery.ReturnsRecords = False
' Lance la procédure stockées
MyQuery.SQL = "BEGIN NomProcedure; END;"
DoCmd.OpenQuery " NomRequete"
D:\769801336.doc
Téléchargement