Connectez MySql depuis Visual Studio C#

Atelier du jour : Relier un projet C# à une base de donnée MySql distante. Objectif :

  • Permettre à un serveur MySql (installé sur une distribution Debian) d’autoriser les connexions distantes
  • Récupération du connecteur MySql .Net chez l’éditeur
  • Connexion, requête et affichage des données en C#

Pré-Requis

En premier lieu, le serveur MySql se trouve sur une distribution Debian, il va falloir donc que MySql autorise les client distant à se connecter (par défaut seul le serveur local a les droits de connexion).

On va y aller de façon brutale en autorisant tout le monde. Sur la Debian donc :

Connexion au serveur SQL


Sur le serveur utiliser la base mysql


le « % » peut être remplacé par l’adresse IP du client à partir duquel vous vous connectez

Enfin éditez le fichier sudo nano/etc/mysql/my.cnf pour commenter la ligne :


Et enfin un reboot du service mysql :

Connecteur MySql pour .Net

Téléchargez sur le site de l’éditeur le connecteur MySql pour DotNet : http://dev.mysql.com/downloads/connector/net/(version 6.9 actuellement), Ne choisissez pas le Windows Installer mais juste le « .NET & MONO » :

MySqlConnectorDotNetCe package (zip) contient juste les dll qu’il nous faut, ni plus ni moins.

Projet .Net

Référence MySql

Créez un nouveau projet C# / WinForm. Dans l’explorateur de Projet, ajoutez une référence, dans la partie « Parcourir », allez chercher la dll MySql.data.dll du package fraichement téléchargé :

ReferenceMySql.Data

 

Visuel

Dans la fenêtre créer une ListView dont la propriete View est sur Details. Moi je l’ai nommé « lvDataReader »

FormListViewGetDataCréer autant de colonnes que vous le souhaitez pour ce controle.

Créer un bouton « GetData » qui servira à ouvrir la connexion MySql pour récupérer des données et les afficher dans le ListView

Code

N’oubliez pas de faire un « using » de la référence MySql.Data (dll) :


Sur l’évènement Click du bouton « Get Data » voici le code :


Il ne reste plus qu’a lancer le projet et tester :

 

MySqlDotNetGetData

 

A propos de l'auteur :  Fabien Lierville

Chef de projet en Ingénierie Informatique Industrielle avec une expérience significative de 17 années. Gestion de projet à dominante pharmaceutique avec le respect de méthode qualité (GAMP V5). Véritable passionné d'informatique depuis l'Amstrad cpc 6128 ;)

Laisser un commentaire