Delphi MySql Installation - John COLIBRI. |
- résumé : installation et test de MySql: Serveur MySql, test en mode commande, connecteur MySql ODBC, création de Dsn ODBC, connexion et test Ado
- mots clé : base de données MySql, serveur MySql, client MySql, ODBC,
OleDb, Dsn, tAdoConnection
- logiciel utilisé : Windows XP personnel, Delphi 6.0, MySql 5.5
- matériel utilisé : Pentium 2.800 Mhz, 512 Meg de mémoire, 250 Giga disque dur
- champ d'application : Delphi 6, Delphi 7, Delphi 2006, Delphi 2007 à 2010, Delphi Xe à Xe6
- niveau : développeur Delphi
- plan :
1 - MySql et Delphi MySql a été créé en 1995, et de nombreuses versions ont été publiées. La plus récente semble être la version 5.7. Le moteur de bases de données MySql est utilisable avec Delphi depuis la fin
des années 1990. Il existe de nombreuses façon de gérer des bases de données MySql avec Delphi: - en utilisant directement LIBMYSQL.DLL
- en utilisant des composants d'accès
- via un pilote ODBC
- avec les composants ADO, Zeos, dbExpress, ou l'un des nombreux composants non standards (des open source, ou des composants commerciaux tels que ceux de DevArt)
Le principal problème est alors d'arriver à utiliser une version de MySql avec une version de Delphi et un jeu de composants d'accès.
Ayant à développer une famille de projets pour lesquels le client souhaitait
utiliser MySql, j'ai été amené à installer le serveur et le client MySql et à l'utiliser depuis Delphi. Cet article décrit - comment nous avons installé MySql
- comment tester cette installation
- un exemple simple de lecture utilisant ADO
Notez que cet article a été écrit en 2011, et utilise - Mysql 5.5
- Delphi 6
- Windows XP
2 - Installation MySql 2.1 - Téléchargement Nous avons utilisé les lien suivants du site mysql.org: - pour le serveur
http://dev.mysql.com/downloads/mysql/
- pour le pilote ODBC
http://dev.mysql.com/downloads/connector/odbc/5.1.html#downloads
Voici les fichiers que nous avons téléchargés:
2.2 - Installation MySql Pour installer MySql: | cliquez sur mysql-5.5.11-win32.msi |
| l'installateur est présenté: |
| cliquez "Next", puis cochez "Accept", puis cliquez "Typical" et "Install" | |
le dialogue présente le produit : | |
cliquez "Next", "Next" et "Finish" | | le wizzard de configuration est présenté : | | selectionnez la configuration détaillée et cliquez "Next" |
| le type de configuration est demandé : |
| selectionnez la configuration détaillée et cliquez "Next" | |
le type de serveur est demandé : |
| cliquez "Next" | | le chemin est demandé : | | cliquez "Next" | |
le nombre de connection est demandé : | |
cliquez "Next" | | le paramétrage réseau est demandé : |
| cliquez "Next" | | le jeu de caractères est demandé :
| | cliquez "Next" |
| l'utilisation avec un service est demandé : |
| cliquez "Next" | | le mot de passe de root est demandé :
| |
tapez "mypass", "mypass", cochez "accès distant" et cliquez "Next" | | lancez la configuration
| | cliquez "execute" |
| la configuration est terminée |
2.3 - Vérification de l'installation Le Setup a bien créé un nouveau répertoire pour MySql:
Nous pouvons aussi vérifier que le service est bien installé
Finalement le menu permet de lancer mysql en mode ligne de commande:*
3 - MySql en mode ligne de commande 3.1 - Lancement manuel du mode ligne de commande Pour lancer le mode ligne de commande
| lancez "Start | Programs | Accessories | command prompt" (CMD.EXE) |
| déplacez-vous dans le répertoire BIN de MySql: |
| connectez vous en tapant mysql -u root -p <ENTREE> mypass <ENTREE> | |
le prompt de MySql est affiché: | |
à titre d'exemple, tapez show databases; <ENTREE> | | les bases disponibles sont affichées:
|
3.2 - Lancement depuis le menu Pour lancer MySql, il a fallu nous positionner dans le répertoire BIN. Nous
pouvons aussi: - soit ajouter le chemin vers BIN dans le PATH Windows
- soit lancer MySql depuis le menu démarrer (cf ci-dessus)
4 - Installation du pilote ODBC MySql
4.1 - Lancement .MSI Nous exécutons le programme d'installation du .MSI: | lancez mysql-connector-odbc-5.1.8-win32.msi |
| le Setup est affiché |
| cliquez "Next" | | demande de type est affichée |
| cliquez "Next" | | les paramètres sont récapitulés
| | cliquez "Install" |
| l'installation est terminée |
| cliquez "Finish" |
4.2 - Vérification de l'installation ODBC Nous pouvons utiliser le manager ODBC pour vérifier cette installation:
| sélectionnez "Panneau de contrôle | Administrative tools | Data Source ODBC" |
| le gestionnaire présente les pilotes installés, dont notre pilote MySql : |
4.3 - Création d'un Dsn ODBC Pour une utilisation avec Ado et Delphi, rien d'autre n'est nécessaire. Pour
certains autres composants d'accès, il faut créer un "user Dsn", ce que vous pouvez faire à l'aide de l'onglet "User Dns" du manager Odbc |
sélectionnez l'onglet "User Dsn" (ou System Dsn) | | les Dsn actuellement définis sont affichés
| | pour créer un Dsn MySql, cliquez "Add..."
| | les pilotes disponibles sont à nouveau affichés | | Sélectionnez le pilote MySql et cliquez "Finish" |
| un dialogue MySql permettant de définir les paramètres du Dsn est affiché:
| | remplissez les paramètres - un nom qui désignera le dsn "my_source"
- l'adresse IP du Serveur : 127.0.0.1
- l'utilisateur "root" et mot de passe "root"
- la base de données de démonstration "plaincart"
| | les paramètres sont définis
| |
vérifiez la connexion en cliquant "Test" | | le test est réussi
|
Nous pourrions donc utiliser ce nom de Dsn "my_source" pour paramétrer un composant de connexion Ado, par exemple.
5 - Installation du Client MySql
Si le projet Client est sur un PC différent du PC sur lequel est installé le Serveur MySql, il faut - installer le Client MySql sur le PC Client. Ici il s'agit du pilote ODBC MySql
- ouvrir un accès dans le Firewall du Serveur pour que le Client puisse accéder au Serveur MySql
5.1 - Installation du Pilote ODBC sur le poste client La procédure est la même que l'installation du pilote ODBC sur le poste
Serveur.
5.2 - Ouverture d'un accès Serveur Sur le poste Serveur, nous ouvrons un accès ainsi: |
ouvrez le Control Panel, et sélectionnez "Windows FireWall" |
| le dialogue de paramétrage du firewall est affiché |
| sélectionnez l'onglet "Exceptions" | |
les accès à travers le firewall existants sont affichés |
| ouvrez un nouvel accès en cliquant "add a port" | | le dialogue de définition du nouvel accès est présenté. |
| Il faut fournir un nom pour désigner ce port, et le numéro du port du Serveur MySql qui par défaut est 3306. Tapez par conséquent mysql_server 3306 |
| voici le dialogue rempli |
| cliquez "Ok" | | le nouvel accès a bien été ajouté :
| | quittez ce dialogue en cliquant "Ok" |
5.3 - Vérification du Client MySql Pour vérifier que le Client a bien accès au Serveur MySql, nous créons un Dsn sur le PC Client, ce qui permet de tester la connexion:
Les étapes sont les mêmes que pour le DSN défini côté Serveur ci-dessus, sauf qu'il faut à présent utiliser l'adresse IP du Serveur. Dans notre cas 192.168.1.20. Donc:
| les paramètres du Dsn sont: | |
et ce nouveau Dsn est bien créé : | |
vérifiez la connexion par "Test" |
6 - MySql et Delphi 6.1 - Accès à MySql Nous avons de très nombreuses possibilités pour gérer une base MySql depuis Delphi
- utiliser une .DLL d'importation qui appelle les API MySql
- utiliser des jeux de composants standards
- le BDE et ODBC
- ADO et ODBC
- dbExpress, dans la mesure où le pilote dbExpress sait gérer notre version MySql
- ADO.NET
- plus récemment, AnyDac devenu FireDac
- utiliser des composants Open Source
- ZEOS, qui est un jeu de composants similaire à BDE, ADO ou dbExpress (jeu de composants multi-moteur Sql, dont MySql)
- il semble qu'il existe aussi des composants spécifiques MySql sur SourceForge
- utiliser des composants commerciaux (devArt)
6.2 - Utilisation d'Ado
Nous avons choisi ici les composants ADO, qui passent par le pilote ODBC fourni par MySql. Pour cela: | lancez une application Delphi |
| de l'onglet ADO de la palette, posez un _tAdoConnection sur la tForm | |
dans l'Inspecteur d'Objet, sélectionnez ConnectionString et tapez la chaîne de connection propre à votre version MySql. Dans notre cas il s'agit de : DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; DATABASE=test; UID=root;
PASSWORD=mypass;OPTION=3; | | basculez LoginPrompt sur False |
| basculez Connected sur True | | la connection est établie
|
6.3 - Vérification de la connection par Ado Comme nous avons définis des Dsn, nous pouvons aussi les utiliser pour
vérifier la connexion en utilisant le dialogue Windows de définition de la connection string. Voici comment procéder: |
de l'onglet ADO de la palette, posez un second tAdoConnection sur la tForm | |
dans l'Inspecteur d'Objet, sélectionnez ConnectionString et cliquez sur l'ellipse "..." | |
le dialogue de paramétrage Ado de la connection string est présenté |
| cliquez sur "Build" | | le dialog de paramétrage OleDb est présenté
| | sélectionnez "OleDb Provider" et cliquez "Next"
| | un dialogue de paramétrage est présenté : |
| ouvrez la combo box des Dsn, et sélectionnez |
| ajoutez l'utilisateur "root", "root" et sélectionnez une base |
| puis cliquez "tester la connexion" | | le test réussit
|
7 - Commentaires et Liens MySql
En essayant d'utiliser ADO avec les composants Delphi 6, nous avons rencontré des problèmes avec les décimales des réels. Il fallait soit modifier des paramètres de fichiers .INI de MySql, soit utiliser un autre jeu de composants
d'accès. Finalement nous avons sélectionné "Dac for MySql" de microOLAP, qui résolvait ce problème. Mentionnons aussi que MySql ne serait pas ma préférence comme base de donnée: - nombreuses versions du moteur (avec ou sans transactions)
- gestion des réels
- dates sans millisecondes
Voici quelques liens :
Comme d'habitude: - nous vous remercions de nous signaler toute erreur, inexactitude ou
problème de téléchargement en envoyant un e-mail à jcolibri@jcolibri.com. Les corrections qui en résulteront pourront aider les prochains lecteurs
- tous vos commentaires, remarques, questions, critiques, suggestion d'article, ou mentions d'autres sources sur le même sujet seront de même les bienvenus à jcolibri@jcolibri.com.
- plus simplement, vous pouvez taper (anonymement ou en fournissant votre e-mail pour une réponse) vos commentaires ci-dessus et nous les envoyer en cliquant "envoyer" :
- et si vous avez apprécié cet article, faites connaître notre site, ajoutez un lien dans vos listes de liens ou citez-nous dans vos
blogs ou réponses sur les messageries. C'est très simple: plus nous aurons de visiteurs et de références Google, plus nous écrirons d'articles.
8 - L'auteur
John COLIBRI est passionné par le développement Delphi et les applications de Bases de Données. Il a écrit de nombreux livres et articles, et partage son temps entre le développement de projets (nouveaux projets, maintenance, audit, migration BDE, migration Xe_n, refactoring) pour ses clients, le
conseil (composants, architecture, test) et la
formation. Son site contient des articles
avec code source, ainsi que le programme et le calendrier des stages de formation Delphi, base de données, programmation objet, Services Web, Tcp/Ip et
UML qu'il anime personellement tous les mois, à Paris, en province ou sur site client. |