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 :

problème de message d'erreur avec la connexion une base de donnée [Débutant]


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut problème de message d'erreur avec la connexion une base de donnée
    Bonjour,

    Je suis en train de créer pour un formulaire pour un petit programme en c# avec vs2010 express qui me permettent de familiariser avec la connexion et le traitement de donnée sur une base de donnée locale.

    J'arrive a ouvrir la connexion mais ensuite j'ai un message d'erreur qui me dis ceci:

    Échec d'une tentative d'attachement d'une base de donnée nommée automatiquement pour le fichier

    D:\\Documents\\MesProjetVSV2010\\Projects\\GestionCompetitionPetanque\\GestionCompetitionPetanque\\Database1.mdf.

    Il existe une base de donnée du même nom ou le fichier spécifier ne peux pas être ouvert ou il se trouve sur un partage UNC

    Pourtant il y a un seul fichier Database1 et le fichier se trouve sur le disque D: qui n'est pas partager. Je ne comprend pas pourquoi ce message.

    Merci pour votre aide

    Di Blasio Michael

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 186
    Points : 206
    Points
    206
    Par défaut
    Bonjour,

    Dans la majorité des cas ce problème relève des droits d'accès au fichier. Vérifie si tu as bien attribué les droits à l'utilisateur des services web.

    Si ce n'est pas le problème et si ton disque est partagé, supprime le partage pour voir si le soucis se règle

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    Merci pour ta réponse

    j'ai fais ce que tu m'as demander mais rien n'as changer.

    j'ai changer de tactique au lieu d'avoir un fichier en local j'ai créer un serveur sql.

    Quand je veux m'y connecter j'ai un problème.

    quand je fais un new Sqlconnexion pas de souci je demande afficher son état et il indique closed.

    Quand je fais un open() a ce moment il indique que échec de l'ouverture de session de utilisateur PC-Fixe\Michael
    voici le code de mon singleton:
    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
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
     
    namespace GestionCompetitionPetanque
    {
        public class Singleton
        {
            private static SqlConnection instance = null;
            private static readonly object padlock = new object();
     
            private Singleton()
            {
            }
     
            public static SqlConnection Instance
            {
                get
                {
                    lock (padlock)
                    {
                        if (instance == null)
                        {
                            instance = new Sql().connect();
                        }
                        return instance;
                    }
                }
            }
        }
    }
    Voici mon code de ma classe sql:
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Windows.Forms;
     
    namespace GestionCompetitionPetanque
    {
        class Sql
        {
            private String _database = "GestionConcoursPetanque";
            private String _server = "PC-Fixe\\SQLEXPRESS";
            private String _user = "Michael\\PC-Fixe";
            private String _passsword = "";
     
            private String _connexionString ="" ;
            private SqlConnection _con = null;
     
            public Sql()
            {
                this.createConnectioString();
            }
     
            public SqlConnection sqlConnexion 
            { 
                get{ return this._con;}
     
                set{this._con = value;}
            }
     
            public String database
            {
                get { return this._database; }
     
                set { this._database = value; }
            }
     
            public String server
            {
                get { return this._server; }
     
                set { this._server = value; }
            }
     
            public String connetionString
            {
                get { return this._connexionString; }
     
                set { this._connexionString = value; }
            }
     
            public void createConnectioString()
            {
                this.connetionString = "Server =" + this.server + ";Database = " + this.database+ ";User ID =" + this._user + ";Password =" + this._passsword;
            }
            public SqlConnection connect()
            {
                try
                {
                    this.sqlConnexion = new SqlConnection(this.connetionString);
                    MessageBox.Show(this.sqlConnexion.State.ToString());
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
     
                return this.sqlConnexion;
            }
        }
    }
    voici le code utilisé dans ma form:
    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
     
     try
                {
                    request = "SELECT * FROM Politesse";
                    con = Singleton.Instance;
                    con.Open();
                    command = new SqlCommand(request, con);
                    dr = command.ExecuteReader();
     
                    cbCivilite.Items.Clear();
     
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            cbCivilite.Items.Add(dr.GetValue(0));
                        }
                    }
                    else
                    {
                        MessageBox.Show("Aucune donnée recolté");
                    }
                }
                catch(Exception ex)
                {
                    MessageBox.Show( ex.Message);
                }
                finally
                {
                    if (dr != null) { dr.Close(); }
                    if (con != null) { con.Close(); }
                }
     
            }
    J'utilise SQL Server Management Studio pour créer ma base de donnée sur le server.
    Quand je regarde les propriété de ma base de donnée et que j'affiche les donnée de connexion j'ai:
    Méthode d'authentification: Authentification Windows
    Nom d'utilisateur PC-Fixe\Michael

    Donc je ne comprend pas pourquoi il me donne échec d'ouverture de session.

    Selon le code indiquer sur SqlConnexion.com ma string est correct.

    Je suis un peu perdu pour trouver d’où vient mon erreur.

    Merci d'avance pour votre aide

  4. #4
    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 : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Dans la classe Sql, pourquoi as-tu ceci ?
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    private String _user = "Michael\\PC-Fixe";

    Au lieu de cela ?
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    private String _user = "PC-Fixe\\Michael";

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    J'ai fais plusieurs essai mais au début j'avais bien PC-Fixe\\Michael et j'ai pas fais la correction.

    J'ai modifier mon fichier original pour le remettre la string correct

    Mais le problème persiste

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 186
    Points : 206
    Points
    206
    Par défaut
    Au final, le sujet est résolu, mais quel était le soucis ? Je ne crois pas qu'il ai été cité ici et ça intéresse la communauté je pense

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

Discussions similaires

  1. Problème de connexion à une base de donnée avec sql developer vendor code 17002
    Par hiba.jenhani dans le forum Connexions aux bases de données
    Réponses: 3
    Dernier message: 27/08/2019, 12h16
  2. erreur lors de connexion à une base de donnée distante
    Par ramoucha23 dans le forum Général Java
    Réponses: 1
    Dernier message: 17/08/2011, 11h01
  3. problème avec la connexion à la base de données
    Par mademoizel dans le forum C#
    Réponses: 5
    Dernier message: 05/03/2007, 16h16
  4. ERREUR DE CONNEXION à une base de donnée ACCESS protégée
    Par unionriton dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/05/2005, 09h35
  5. [BDD] Erreur dans la connexion à une base MySQL
    Par dodo10 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 24/01/2005, 19h52

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