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

ASP.NET Discussion :

Problème Connexion à la base


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut Problème Connexion à la base
    Je suis entrain de développer une application ASP MVC 3 en utilisant le language C# et l'éditeur Visual Studio 2010 et une base de donnée SQL Server 2005.
    Je veux faire des enregistrements dans ma base, mais je n'arrive pas car la connexion est échouée.
    Je ne sais pourquoi ? J'ai bien vérifié mes paramètres de connexion (nom de serveur, nom de la base, iduser, mot de passe...)
    J'ai fais aussi un test de connexion manuellement (Tools/Add Connexion) et ça marchait.
    Voici le message d'erreur qui apparait :
    Impossible d'ouvrir la base de données "Gamme.MDF" demandée par la connexion. La connexion a échoué.
    Échec de l'ouverture de session de l'utilisateur 'adminUser'.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Impossible d'ouvrir la base de données "Gamme.MDF" demandée par la connexion. La connexion a échoué.
    Échec de l'ouverture de session de l'utilisateur 'adminUser'.

    Source Error:


    Line 97: SqlConnection cn = new SqlConnection(@"Data Source=SWEET-DE396641E\SQLEXPRESS;User Id=adminUser;Password=adminUser;DataBase=Gamme.MDF");
    Line 98: SqlCommand cmd = new SqlCommand("Insert Into User(Matricule, Nom_User,PassWord, Type_User )Values('"+Matricule+"','"+Nom_User+"','"+passWord+"','"+Type_User+"')", cn);
    Line 99: cn.Open();
    Line 100: return cmd.ExecuteNonQuery();
    Line 101: }
    Voilà une partie de mon controlleur :
    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
    [AcceptVerbs(HttpVerbs.Post)]
          public ActionResult AddUser(MvcApplication2.Models.AddUserModel am )
          {
              ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
     
              //if (ValidateAjout(Matricule, Nom_User, passWord, Type_User))
     
                  if (!ModelState.IsValid)
                  {
     
     
                      int _records = am.Insert(am.Matricule, am.Nom_User, am.passWord, am.Type_User);
                      if (_records > 0)
                      {
                          return RedirectToAction("Index", "Home");
                      }
                      else
                      {
                          ModelState.AddModelError("", "Can Not Insert");
                      }
     
                  }
     
                  return View();
     
          }
    et une partie de modele :
    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
    public class AddUserModel
        {
            [Required]
            [Display(Name = "Matricule :")]
            public string Matricule { get; set; }
     
            [Required]
            [Display(Name = "Nom :")]
            public string Nom_User { get; set; }
     
            [Required]
            [StringLength(100, ErrorMessage = "Le {0} doit avoir au minimum {2} caractères.", MinimumLength = 6)]
            [DataType(DataType.Password)]
            [Display(Name = "Mot de passe :")]
            public string passWord { get; set; }
     
            [DataType(DataType.Password)]
            [Display(Name = "Confirmer mot de passe :")]
            [Compare("Password", ErrorMessage = "Le mot de passe ne correspond pas la confirmation !")]
            public string ConfirmPassword { get; set; }
     
            [Required]
            [Display(Name = "Type :")]
            public string Type_User { get; set; }
     
            public int Insert(string Matricule, string Nom_User, string passWord, string Type_User)
            {
                SqlConnection cn = new SqlConnection(@"Data Source=SWEET-DE396641E\SQLEXPRESS;User Id=adminUser;Password=adminUser;DataBase=Gamme.MDF");
                SqlCommand cmd = new SqlCommand("Insert Into User(Matricule, Nom_User,PassWord, Type_User )Values('"+Matricule+"','"+Nom_User+"','"+passWord+"','"+Type_User+"')", cn);
                cn.Open();
                return cmd.ExecuteNonQuery();
            }
        }
    Y-a-il une solution SVP, j'attends vos réponses

  2. #2
    Invité
    Invité(e)
    Par défaut
    L’utilisateur adminUser n'a pas pu se connecter. Vérifier que l'identifiant est correct et aussi le mot de passe.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut
    Oui je les ai vérifie et je refait la vérification maintenant . Tous est correct !!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si tout est correct alors vérifie que l'utilisateur concerné a les droits d'accéder à la base de données. SSMS permet d'octroyer les droits pour un utilisateur sur une base de données. Une recherche sur le net te fera savoir comment faire la manip.

    Sinon t'es sûr que ta base de données s'appelle Gamme.MDF. Essaie avec Gamme sans l'extension.

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (@"Data Source=SWEET-DE396641E\SQLEXPRESS;User Id=adminUser;Password=adminUser;DataBase=Gamme.MDF");
    Gamme.MDF me parait plus être un nom de fichier de base qu'un nom de base. Dans la chaine de connexion c'est le nom de la base qui doit être affecté à la propriété DataBase, pas le nom du fichier, que le programme n'a d'ailleurs pas à connaitre.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut
    Merci pour ta réponse. C bon je suis arrivé à fixer l'erreur en changeant l'instruction de la connexion par celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SqlConnection cn = new SqlConnection(@"Data Source = SWEET-DE396641E \ SQLEXPRESS; User Id = adminUser; Password = adminUser; Initial Catalog = Gamme");
    Mais je ne peux pas faire des enregistrements dans la base ! cette erreur persiste :
    L'instruction INSERT est en conflit avec la contrainte FOREIGN KEY "FK_Users_Account". Le conflit s'est produit dans la base de données "Gamme", table "dbo.Account", column 'Type_User'.
    L'instruction a été arrêtée. manuellement
    NB:
    Je peux faire des enregistrements manuellement c'est à dire sans saisi dans la formulaire juste dans le code et ceci en changeant cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SqlCommand cmd = new SqlCommand("Insert Into Users(Matricule, Nom_User,PassWord, Type_User )Values('"+Matricule+"','"+Nom_User+"','"+passWord+"','"+Type_User+"')", cn);
    par celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SqlCommand cmd = new SqlCommand("Insert Into Users(Matricule, Nom_User,PassWord, Type_User )Values('user2','anouar','anouar','Admin')", cn);

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut
    Pour bien clarifier le problème, lorsque je met le curseur sur les paramètres dans l'instruction qui j'ai deja parlé (matricule,...),,,l'éditeur m'indique qu'elles sont NULL

Discussions similaires

  1. Problème connexion à la base de données
    Par lordatef dans le forum Général Java
    Réponses: 4
    Dernier message: 09/05/2011, 15h50
  2. Problème connexion à la base de données
    Par isammm dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 08/05/2011, 18h54
  3. problème connexion à une base de données
    Par anissben dans le forum C++Builder
    Réponses: 0
    Dernier message: 10/10/2010, 22h54
  4. problème connexion à une base access
    Par meavy dans le forum JDBC
    Réponses: 1
    Dernier message: 14/01/2009, 11h01
  5. problème connexion à la base
    Par Tanebisse dans le forum Tomcat et TomEE
    Réponses: 14
    Dernier message: 17/06/2008, 11h56

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