1 Farsi Amine Partie 2 : Migration 3 tiers d une application SLAM 5 Différentes solutions de migration de base ACCESS vers POSTGRESQL Il existe différents types de solutions qui permettent de passer d une base de données ACCESS vers une base de données POSTGRESQL. Le logiciel Microsoft Access 2007 et + Il est possible de transférer une base de données directement à l aide du logiciel mère Access, avec sa fonction exportation et à l aide d un middleware (ODBC à installer). Il s agit de mettre en relation les deux bases de données ensemble pour exporté la première vers la deuxième, et c est le middleware (ODBC Postgresql) qui se chargera de la modification du langage pour que le transfert se passe bien. Le logiciel Convertdb Quelques logiciels gratuit et payant, permettent de faire en quelque sorte la même chose que le logiciel Microsoft Access mais sans programmer sur le système d exploitation un ODBC Il suffit de lui donner une source de fichier (ici Access) et une destination (serveur postgresql) et le logiciel s occupera de faire le transfert des données directement. Win Design Grâce à sa fonction intégré de reverse engineering (La rétro- ingénierie également appelée rétro- conception, ingénierie inversée, est l'activité qui consiste à étudier un objet pour en déterminer le fonctionnement interne ou la méthode de fabrication.), Win design permet de passer d un modèle logique de données d Access à un script pour Postgresql directement en SQL qui permettra à l utilisateur d importer ce scripts sur son serveur Postgresql. Le logiciel MDB Tools Le projet MDB est un logiciel pour documenter le format de fichier MDB utilisé dans Microsoft Access, et de fournir un ensemble d'outils et d'applications pour que les données soient disponibles sur d'autres plates- formes. Plus précisément, MDB Tools inclut les programmes d'exportation de schéma et de données à d'autres bases de données comme MySQL, Oracle, Sybase, PostgreSQL, et d'autres. Il s agit d un logiciel équivalent en fonctionnalité mais Opensource comparé à Convertdb. Exportation CSV Grâce encore une fois au logiciel Microsoft Access, sans l installation et la configuration d un ODBC Postgresql, on peut exporter les données des tables ainsi que la structure des tables elles- mêmes dans un fichier Texte ou CSV configurables sur Access, qui permettra au serveur Postgresql de lire ses fichiers (lisibles par toutes plateformes) et de créer à l identique la base de données exporté.
2 Farsi Amine Solutions choisies, mise en œuvre (tutoriels), problèmes et solutions rencontrés La solution choisis est la plus facile celle d utiliser Microsoft Access ainsi que le middleware ODBC... Première étape : téléchargement et installation du pilote ODBC PostgreSQL : http://www.postgresql.org/ftp/odbc/versions/msi/ Deuxième étape : Ouverture, Et création d une source de données machine pour permettre l exportation sur la base de donnée Postgresql 1. Ouvrir le fichier sous Access :
3 Farsi Amine 2. Sélectionner une table puis cliquez sur l onglet fichier puis Exporter 3. Sélectionner ODBC DATABASE 4. Laisser le même nom pour la table puis cliquez sur ok
4 Farsi Amine 5. Choisir «Sources de données machines» puis Nouveau 6. Selectionner Source de données système et suivant 7. Puis sélectionner Postgresql Unicode (il s agit du driver installer en étape 1) 8. Puis terminer
5 Farsi Amine 9. Remplir les champs de la base de données Postgresql Data Source : Donnée un nom à votre source de donnée Database : nom de la base de données Postgresql Server : URL du serveur de base de données User Name : nom utilisateur Password : mot de passe de l utilisateur Port : Port de la base de donnée (de base normalement 5432) Description : donnée une petite et brève description de la source de donnée 10. Les tables sont exportées directement dans la base de données Postgresql. 11. Faire de même pour chaque table à exporter
6 Farsi Amine Pour sécuriser la connexion a cette base de donnée, nous allons créer un nouveau Rôle de connexion que l on va appeler «test» et crée un nouveau schéma nommée «prive» et lui donner seulement les droit de lecture dessus. Changer aussi dans le logiciel pgadmin II, les fichiers de configuration pour permettre la connexion a la base de données à distance : en remplaçant la ligne listen_adresses par l adresse IP de la machine sous Visual studio (ou le programme va être installé) Et ainsi que de rajouter une ligne host avec la même adresse IP Concernant le programme, il faut changer dans la passerelle ( la DAL ), tous les mot «oledb» par «Npgsql» et rajouter un «using Npgsql ;».
7 Farsi Amine Changé par : Ensuite il faut changer la chaine de connexion qui se trouve dans la classe ServiceMetier par "Server=127.0.0.1;User Id=postgres;" + "Password=pwd;Database=postgres;" Il faut faire attention à la casse!! Il faut pour chaque tables, colonnes changer son écriture, et enlever toutes formes de majuscules et d accent, il faut tout mettre en minuscule car la passerelle de npgsql ne prend pas en compte les accents et les majuscules