MySQL, considérée comme « la base de données open source la plus populaire au monde », a parcouru un long chemin depuis ses modestes débuts en tant que serveur de base de données à faible coût jusqu'à devenir un serveur qui gère d'énormes sites Web et des systèmes d'entreprise importants. Cependant, si vous êtes un développeur ASP.NET, vous rencontrerez toujours une insatisfaction : MySQL a été initialement conçu pour les applications sur la plate-forme UNIX, la prise en charge de Windows est donc secondaire.
Mais désormais, la version Windows de MySQL possède les mêmes fonctionnalités et la même stabilité que la version UNIX, et elle est considérée comme un serveur de base de données viable pour le développement Windows. Voyons maintenant comment vous pouvez vous connecter à une base de données MySQL dans le framework .NET à l'aide d'ODBC.
Installation
Téléchargez et installez la version Windows de MySQL. L'installation est simple : suivez simplement les instructions et vous serez opérationnel en un rien de temps. Si vous rencontrez un problème, vous pouvez vous rendre sur le forum MySQL pour demander de l'aide et des solutions.
Pour connecter ASP.NET et MySQL, vous devez utiliser ODBC.NET. De manière générale, le DataProvider d'ODBC.NET fait partie du framework standard .NET (version 1.1 et supérieure), il sera donc automatiquement installé avec ce dernier.
Une fois que vous avez confirmé qu'ODBC.NET est installé, vous devrez télécharger le pilote ODBC pour MySQL. Encore une fois, les développeurs MySQL sont heureux de vous aider : ils fournissent ces pilotes sur leur site Web. Vous pouvez lire le document FAQ lors du téléchargement du fichier, qui listera tous les problèmes que vous pourriez rencontrer lors de l'installation du pilote MySQL ODBC sur votre système.
Tout est fait ? Commençons maintenant par du code.
Se connecter à MySQL avec ASP.NET
L'une de mes activités préférées est de lire, et lorsque je n'écris pas d'articles pédagogiques comme celui-ci, je trouve un coin tranquille pour compléter ma liste de bibliographie. Malheureusement, je ne suis pas une personne très organisée, donc cela crée souvent des dégâts.
Alors, qu’est-ce que cela a à voir avec le sujet dont nous allons parler aujourd’hui ? Eh bien, c'est le début de mon premier exemple, qui consiste à créer une base de données de livres comme ceux de la liste A.
Pour créer cette table, utilisez la requête SQL suivante :
CREATE TABLE `livres` (
`id` int(5) NON NULL auto_increment,
`title` varchar(255) NOT NULL par défaut '',
`auteurs` varchar(255) NON NULL par défaut '',
`year_of_publication` année(4) NON NULL par défaut '0000',
`date_added` date NON NULL par défaut '0000-00-00',
CLÉ PRIMAIRE (`id`)
) TYPE=MonISAM;
Pour exécuter cette requête, vous devez utiliser le logiciel client en ligne de commande « mysql.exe » dans le dossier « bin » du répertoire d'installation de MySQL. Voici les commandes spécifiques :
c:mysqlbin>mysql -u invité -p test
Entrez le mot de passe : ******
Bienvenue dans le moniteur MySQL. Les commandes se terminent par ; ou g.
Votre identifiant de connexion MySQL est 13 pour la version du serveur : 4.0.12-nt
Tapez 'help;' ou 'h' pour obtenir de l'aide. Tapez 'c' pour vider le tampon.
mysql> CREATE TABLE `livres` (
-> `id` int(5) NON NULL auto_increment,
-> `title` varchar(255) NOT NULL par défaut '',
-> `auteurs` varchar(255) NOT NULL par défaut '',
-> `year_of_publication` année(4) NON NULL par défaut '0000',
-> `date_added` date NON NULL par défaut '0000-00-00',
-> CLÉ PRIMAIRE (`id`)
-> ) TYPE=MonISAM;
Requête OK, 0 ligne affectée (0,02 s)
Une fois la table « livres » créée, vous pouvez commencer à insérer des données. La liste B répertorie certains éléments. Maintenant, faites la même chose avec ASP.NET : exécutez la requête SELECT (Listing C) et affichez les résultats dans le navigateur. Si tout va bien (le serveur MySQL est en cours d'exécution, le pilote ODBC MySQL est correctement installé et la table Books contient des données), vous devriez voir une page semblable à celle de la figure A.
la figure C vous montrent le message d'erreur qui apparaîtra lorsque le script tentera d'accéder à une table de base de données inexistante (notez que les exceptions générées par la structure interne "try-catch" seront gérées par la structure externe) :
ci-dessus est une introduction à la façon d'utiliser le contrôle serveur DataGrid de MySQL et ASP.NET. Il y a beaucoup plus à dire sur la façon dont vous pouvez utiliser ces deux technologies ; j'espère donc que cet article et les autres ressources de référence fournies ci-dessus vous aideront à vous en faire une idée.