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 base de donnée avec un code C#


Sujet :

C#

  1. #1
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut Connexion base de donnée avec un code C#
    Bonjour a toutes et a tous,
    J'ai un tout petit code qui ne fonctionne pas (je debute en C#).
    j'utilise wamp server 2.0g-1
    ma base de donnée est donc sur ma machine
    elle s'appelle "Test"
    j'ai pas touché au nom d'utilisateur donc j'ai cru comprendre que par defaut c'est : utilisateur :"root" et aucun mot de passe.

    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
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Data.Sql;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
                string connString = "Data Source=localhost; User Id=root; Password=; Initial Catalog=Test;persist security info=True";
                SqlConnection conn = new SqlConnection(connString);
                conn.Open();
                MessageBox.Show("success");
                conn.Close();
            }
        }
    }
    Lorsque j'execute mon programme, je veux voir le message "success". bien entendu je met wamp en online. J'ai aussi mis mon projet dans le dossier "www" de wamp.

    le soucis est que :
    au lancement du programme, j'obtiens le message:
    "Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cet échec peut être dû au fait que les paramètres par défaut de SQL Server n'autorisent pas les connexions à distance. (provider: Fournisseur de canaux nommés, error: 40 - Impossible d'ouvrir une connexion à SQL Server)"
    SVP je vous demande d'abord :
    -cette erreur provient-elle de mon code?
    -ou alors que dois-je régler pour corriger ceci?

    merci d'avance

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 73
    Points
    73
    Par défaut Surement !!!
    Bonjour,
    Le problème avec ton code est que tu essaies d'acceder à une base de données sql server avec ce genre de chaine de connetion ... si je ne me trompe pas wamp est comme xaamp qui intègre un sgbd MySql ... donc la chaine de connection est differente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
    voila un exemple de chaine de connection MySql ...

    documentes toi un peu .... y a des notions de base qu'il est indispensable de connaitre ...
    Pour plus d'informations sur les chaines de connection regarde ça www.ConnectionStrings.com. Si ça ne marche pas fais un signe ...
    Bon courage

  3. #3
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut
    Merci pour avoir répondu aussi vite

    j'essaye tout de suite et vais me documenter dans ce domaine là comme tu me l'as conseillé

    je te tiens au courant

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Il va aussi falloir changer de provider ... SqlConnection ne peut se connecter qu'à SQL Server. Il va falloir passer par ODBC ou utiliser le provider fourni par MySQL et téléchargeable sur leur site.

  5. #5
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut
    j'ai bien mis comme tu m'as dis buxus mais ça marche pas encore. ça donne exactmement le mem resultat.
    J'imagine que c'est ce que Kaidan essaye de m'expliquer.
    donc mon nouveau probleme :
    Provider ??? c'est quoi (desolé d'etre debutant) et comment on s'en sert svp

    pourrais-je avoir le lien exacte de ce qu'il faut telecharger?
    comment l'inclure dans mon code (encore desolé si cette question est hors sujet)

    merci

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    La FAQ (n'a pas l'air à jour) :

    http://dotnet.developpez.com/faq/asp...ysqlviadrivers

    ... 10s de recherche sur (mysql .net)

    http://www.mysql.fr/products/connector/

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    pour se qui est de son utilisation le MySql Connector .NET n'est qu'une librairie comme les autres, il faut donc la references dans ton projet (click droit, ajouter reference)

    ensuite sache que tout les Connector pour base de donnèes (en .NET) fonction sur un meme principe de base

    nous avons donc des

    SqlConnection
    MySqlConnection
    OracleConnection
    OleDbConnection
    ....
    tout ces types heritant de IDBConnection

    voila pour le comment integret un connecteur externe

  8. #8
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut
    J'apprécie beaucoup votre patience et vos explications.
    je suis en train de tester tout ce que vous m'avez dis.
    merci

  9. #9
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut
    alors voila, grace a vous j'ai pu refaire ma ligne de connection :
    MySQLConnection conn = new MySQLConnection(new MySQLConnectionString("localhost", "Test", "root", "").AsString);
    et rajouter la reference MySQLDriverCS.dll

    cependant, le nouvau message est qu'il manque : libmysql.dll.
    je l'ai donc récupéré mais lorsque je fais ajouter un reference, le message suivant aparait :
    Une référence à 'mon chemin ou j'ai rangé la référence en question' n'a pas pu être ajoutée.
    Assurez-vous que ce fichier est accessible et qu'il s'agit d'un assembly ou d'un composant COM valide.
    Je me suis dis que j'ai du telecharger n'importe quoi...
    cependant j'ai essaye d'autre libmysql.dll un peu partout sans succes...

    Je l'ai donc mis a la main dans le dossier /bin/debug (là ou a été ajouté MySQLDriverCS.dll) et voici le nouveau message d'erreur :
    MySQLDriverCS Exception: MySQLDriverCS Error: can't connect.Access denied for user 'root'@'localhost' (using password: NO)
    Finalement on dirait qu'il n'a plus besoin de libmysql.dll...
    qu'est-ce que je dois faire? revenir a l'étape précédente et reussir a ajouter cette reference normalement ou alors continuer à essayer d'accéder a ma base à partir de là.

    merci d'avance

  10. #10
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut
    je vous rappel mon code du moment des fois que ça aide a certaines explications:
    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
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
                            MySQLConnection conn = new MySQLConnection("Server=localhost;Database=Test;Uid=root;Pwd=");
                conn.Open();
                MessageBox.Show("success");
                conn.Close();
            }
     
        }
    }
    et l'erreur:
    MySQLDriverCS Exception: MySQLDriverCS Error: can't connect.Access denied for user 'ODBC'@'localhost' (using password: NO)
    Quelqu'un peut-il m'expliquer mon erreur?
    merci d'avance

  11. #11
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 73
    Points
    73
    Par défaut Ca Marche
    Bonjour,
    voici un exemple de code qui est fonctionnel à mon niveau.
    j'ai seulement téléchargé la dll de MySql et le tour est joué.
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try
                {
                    MySqlConnection con = new MySqlConnection(@"Server=localhost;Database=MySql;Uid=root;Pwd=;");
                    con.Open();
                }
                catch (Exception exp)
                {
     
                }
    et la dll est en pièce jointe.

    selon ce que je vois de ton message d'erreur le mot de passe n'est pas vide ...
    quand tu accède à l'interface d'administration de MySql quelles informations fournis tu ?
    Fichiers attachés Fichiers attachés

  12. #12
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut ça y est !!!
    Buxus je t'aime !!!

    alors voici toutes mes erreurs :
    j'utilisais la DLL : MySQLDriverCS.dll que Kaidan m'a gentiement offert.
    seul inconvenient : une fois celle si installée, tu dois utiliser libmySQL.dll ...
    cette reference est impossible a rajouter comme la precedente et tout les problemes n'ont été que reportés.

    de plus avec MySQLDriverCS.dll le "vocabulaire de connexion s'écrit" : MySQLConnection
    donc quand j'ai testé ton code buxus j'ai pas pensé a changé la casse -_-
    j'ai pas encore les bon réflexes :p

    ensuite probleme numero 2 : il y avait une deuxieme version de Mysql qui tournait en meme temps et qui foutait le bazard (c'est ça d'heriter d'un ordi et de pas penser a regarder dedans). Je pouvais meme pas me connecter a PHPMyAdmin... (j'en ai eu envi quand tu m'as demandé les informations que je fournissais).

    en tout cas buxus, ta dll fonctionne parfaitement et je me connecte enfin a ma base de donnée.

    merci a vous tous qui avez pris la peine de m'écouter et de m'aider
    merci beaucoup buxus d'avoir remarquer que je n'avais pas la bonne dll (je n'aurais jamais trouvé).

    Cordialement
    Yochima

  13. #13
    Candidat au Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Le vrai code
    Vous devez essayer ce code :

    try
    {
    string MyConnection = "Data Source=localhost;port=3306 username=root; Password=root";
    MySqlConnection MyConn = new MySqlConnection(MyConnection);
    MySqlDataAdapter MyDataAdapter = new MySqlDataAdapter();
    MyDataAdapter.SelectCommand = new MySqlCommand("select * database.edata ;" , MyConn);
    MySqlCommandBuilder cb = new MySqlCommandBuilder (MyDataAdapter);

    MyConn.Open();
    DataSet ds = new DataSet();
    MessageBox.Show("success");
    MyConn.Close();
    }

    catch (Exception ex)
    { MessageBox.Show(ex.Message);
    }

    Amicalement .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Connexion base de donnée avec silverlight
    Par jorrie dans le forum Silverlight
    Réponses: 7
    Dernier message: 05/11/2012, 09h49
  2. Réponses: 2
    Dernier message: 24/03/2010, 11h37
  3. [AC-2003] gérer une base de données avec des codes barres
    Par franklin59 dans le forum Modélisation
    Réponses: 1
    Dernier message: 09/12/2009, 15h21
  4. connexion base de données avec wxwidgets
    Par Zavonen dans le forum wxWidgets
    Réponses: 7
    Dernier message: 17/09/2007, 07h15
  5. creer connexion base de donné avec dbedit eclipse
    Par youcef81 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 22/07/2006, 17h37

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