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 :
Malgré tout ça, je n’arrive pas à me connecter à l’aide 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); } }
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
fonctionne ?
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;"
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 :
directement dans le fichier DB_Entities.cs ?
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;"
En espérant avoir été clair dans ma demande, j’ai besoin de vous pour avancer,
Par avance merci,
Bruno
Partager