IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Connexion bdd MySql avec proxy depuis une appli C#


Sujet :

C#

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Etudiant bts sio
    Inscrit en
    Mai 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Etudiant bts sio

    Informations forums :
    Inscription : Mai 2018
    Messages : 1
    Par défaut Connexion bdd MySql avec proxy depuis une appli C#
    Bonjour,

    Je suis en dernière année de BTS SIO et je dois faire un projet de fin d'année qui consiste en une application lourde liée à une BD distante.

    Mon application consiste à permettre à des trésoriers de valider ou modifier des frais entrés préalablement par des demandeurs pour des remboursements dans le cadre d'associations sportives.

    La BD a été mise sur le serveur du lycée par une collègue qui a donc du utiliser le proxy du lycée. Actuellement j'essaie de connecter mon application C# à la base de données.

    J'ai fait quelques recherches et j'ai donc décidé de créer une classe de connexion à la bdd.

    Le code actuel de ma classe ressemble à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    class ConnexionBDD
        {
            private static MySqlConnection connexion;
     
            public ConnexionBDD()
            {
                InitConnexion();
            }
     
            private static void InitConnexion()
            {
                string connexionString = "SERVER=172.16.193.1;DATABASE=ppe_mll;UID=Dev;PASSWORD=dev$31";
                connexion = new MySqlConnection(connexionString);
                connexion.Open();
            }
     
             public static bool ConnexionTres(string mailSaisi, string mdpSaisi)
            {
                // Défini si le trésorier a renseigné les bons identifiants
                bool ok = false;
                // Variable qui va contenir le résultat de la requête
                string mdpBDD = "";
     
                // Connexion à la base de données
                InitConnexion();
     
                // Requête SQL
                MySqlCommand cmd = new MySqlCommand("SELECT MDP FROM tresorier WHERE MAIL='" + mailSaisi + "';");
     
                // Exécution de la requête
                MySqlDataReader MysqlReader = cmd.ExecuteReader();
     
                // Lecture des données renvoyées (=fetch())
                MysqlReader.Read();
     
                mdpBDD = MysqlReader["mail"].ToString();
     
                // On ferme le reader et la requête
                MysqlReader.Close();
                cmd.Dispose();
     
                // Vérification du mot de passe
                if (mdpBDD != mdpSaisi)
                {
                    ok = false;
                }
                else
                {
                    ok = true;
                }
     
                // On ferme la connexion
                connexion.Close();
     
                return ok;
            }
     
        }
    Ici j'ai donc une erreur lors de l'exécution de la requête dans la méthode ConnexionTres telle que

    System.InvalidOperationException : 'Connection must be valid and open.'

    Si quelqu'un peut m'expliquer comment connecter une appli C# à une BD mySql distante avec proxy ou m'aiguiller vers un article, ou peut-être trouver une erreur dans mon code, tout est bon à prendre.

    P.S.: J'ai fait des recherches au préalable et je commence à perdre espoir avec le nombre de réponses qui me disent qu'on ne peut pas gérer cette connexion avec un proxy. Donc Merci d'avance à ceux qui répondront.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Tu as oublie d'indiquer a ton objet MySqlCommand quelle connexion il doit utiliser. En rajoutant quelque chose comme ceci :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Requête SQL
    MySqlCommand cmd = new MySqlCommand("SELECT MDP FROM tresorier WHERE MAIL='" + mailSaisi + "';", connexion);

    Deux conseils ici :
    1 - Pour ta requete SQL, utilise une requete parametree. En concatenant comme tu le fais, tu reduis la performance de la requete et tu t'exposes a des risques d'attaque par injection SQL.
    2 - Il vaut mieux utiliser des objets non statiques pour les connexions a une DB. La bonne pratique et de les detruires / recreer a chaque fois que cela est necessaire.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. EF 6.1.1 connexion à une bdd MySql avec VS EXPRESS 2013
    Par Jordan-Tess dans le forum Entity Framework
    Réponses: 5
    Dernier message: 07/08/2015, 10h55
  2. Problème connexion BDD MySql avec jdbc
    Par libery dans le forum JDBC
    Réponses: 6
    Dernier message: 27/05/2009, 12h25
  3. Réponses: 5
    Dernier message: 06/02/2008, 16h01
  4. Probleme connexion BDD mysql avec applet
    Par lancer83 dans le forum Applets
    Réponses: 25
    Dernier message: 01/08/2007, 11h15
  5. [BDD] Comment Executer Une SP Mysql avec ADODB depuis PHP
    Par audreyc dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 30/03/2006, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo