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

ADO.NET Discussion :

ado.net razor MVC c# connexion Mysql depuis fichier web.conifg [Débutant]


Sujet :

ADO.NET

  1. #1
    Membre actif Avatar de BRUNO71
    Homme Profil pro
    Conseiller technique ELec
    Inscrit en
    janvier 2007
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Conseiller technique ELec
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 480
    Points : 296
    Points
    296
    Par défaut ado.net razor MVC c# connexion Mysql depuis fichier web.conifg
    Bonjour à toutes et à tous,

    Pour commencer je vous présente mes meilleurs vœux…
    Je suis en panne de réflexion sur le sujet suivant :
    Je souhaite mettre en place à l’aide de Visual Studio 2017 un système de login avec mot de passe sur une base de données Mysql sur les servers de LWS.
    Je me sers d’un modèle existant trouvé ici ( https://dev.to/skipperhoa/login-and-register-using-asp-net-mvc-5-3i0g").

    J’ai installé une Base nommée (Bdd_MVC_Photo) avec des tables et afin de vérifier la connexion depuis mon hébergeur, j’ai créé depuis une page CSHTML dont voici le code :
    Code CSHTML : 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
    @using MySql.Data.MySqlClient;
     
     
        @{
     
            string c_string = "data Source=localhost;port=3306;Initial catalog=Bdd_MVC_Photo; User Id=Mon_ID;Password=Mon_mdp;";
     
            MySqlConnection Connection_bdd_MVC;
            Connection_bdd_MVC = new MySqlConnection();
            Connection_bdd_MVC.ConnectionString = c_string;
     
     
            try
            {
     
                // ouverture
                Connection_bdd_MVC.Open();
     
                string requete = "SELECT count(*) FROM Tble_Clients";
                MySqlCommand sql = new MySqlCommand();
                sql.CommandText = requete;
                sql.CommandType = System.Data.CommandType.Text;
                sql.Connection = Connection_bdd_MVC;
     
     
                int count = Convert.ToInt32(sql.ExecuteScalar());
     
                <p>@string.Format("{0}", count)</p>
     
     
            }
            catch (Exception err1)
            {
                <p>@(err1); </p>
     
            }
            finally
            {
                try
                {
                    // fermeture
                    Connection_bdd_MVC.Close();
                }
     
                catch (Exception err2)
                {
     
                    <p>@(err2);</p>
     
                }
            }
        }

    Il fonctionne bien, car il me remonte le nombre de personne de la table (Tble_Clients).

    Dans le gestionnaire de package NuGet j’ai installé ceci (MySql.Data 8.0.22, MySql.Data.EntityFramework 8.0.22, MySql.Data.EntityFramework, 8.0.22 et MySql.Web 8.0.22)

    Dans mon fichier Web.config j’ai ceci :
    Code XML : 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
     
     
      <entityFramework>
        <providers>
     
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
     
        <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.22.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
     </providers>
      </entityFramework>
    <connectionStrings>
        <!-- ******** Serveur de production ********  -->   
        <add name="Connex_Bdd_MVC_Photo" connectionString="Data Source=localhost;port=3306;Initial catalog=Bdd_MVC_Photo; User Id=Mon_ID;Password=Mon_mdp;" providerName="System.Data.MySqlClient" />
     
        <!-- ******** modifier la connexion Connex_Bdd_MVC_Photo dans la page IdentityModels.cs -->
     
      </connectionStrings>

    Dans le fichier (DB_Entities.cs) proposé dans l’exemple du site cité plus haut, j’ai modifié la ligne pour la connexion (Connex_Bdd_MVC_Photo) issu du fichier web.config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        public class DB_Entities : DbContext
        {
            public DB_Entities() : base("Connex_Bdd_MVC_Photo") { }
            public DbSet<User> Users { get; set; }
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                //Database.SetInitializer<demoEntities>(null);
                modelBuilder.Entity<User>().ToTable("Tble_Clients");
                modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
     
                base.OnModelCreating(modelBuilder);
     
            }
        }
    Malgré tout ça, je n’arrive pas à me connecter à l’aide du fichier Web.config !
    Je n'ai aucun défaut mais à chaque fois que je rentre des données depuis le fichier Register.cshtml, ou bien le login et un Mdp cela me renvoie sur la page error

    Sachant que ma connexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string c_string = "data Source=localhost;port=3306;Initial catalog=Bdd_MVC_Photo; User Id=Mon_ID;Password=Mon_mdp;"
    fonctionne ?


    Ais-je oublié un package NuGet ?

    Comment faire pour vérifier la connexion Web.config ?

    Puis-je ajouter la ligne de connexion qui va bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string c_string = "data Source=localhost;port=3306;Initial catalog=Bdd_MVC_Photo; User Id=Mon_ID;Password=Mon_mdp;"
    directement dans le fichier DB_Entities.cs ?

    En espérant avoir été clair dans ma demande, j’ai besoin de vous pour avancer,

    Par avance merci,

    Bruno

  2. #2
    Membre actif Avatar de BRUNO71
    Homme Profil pro
    Conseiller technique ELec
    Inscrit en
    janvier 2007
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Conseiller technique ELec
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 480
    Points : 296
    Points
    296
    Par défaut
    Bon super,
    J'ai trouver ma solution ici..
    https://medium.com/@nishancw/asp-net...s-6e315669b6b7

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

Discussions similaires

  1. Insertion dans MySQL depuis fichier texte /bash
    Par mitchreward dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 27/08/2013, 11h27
  2. Connexion mysql dans un web Service
    Par Cookal dans le forum Accès aux données
    Réponses: 0
    Dernier message: 06/02/2009, 14h26
  3. Connexion à MySQL depuis code C++
    Par fantomchris dans le forum Outils
    Réponses: 0
    Dernier message: 29/05/2008, 17h15
  4. Connexion à MySQL depuis Leonardi Studio
    Par fastlock dans le forum W4 Express
    Réponses: 4
    Dernier message: 17/03/2008, 12h59
  5. Réponses: 0
    Dernier message: 30/08/2007, 12h04

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