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 :

ConnectionString et MembershipProvider


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut ConnectionString et MembershipProvider
    Bonjour,

    Je réalise un site web en MVC3 et ai décidé d'installer mon propre system de membership. J'ai donc suivit ce tuto très bien réalisé.
    Tout va bien jusqu'au moment de modifier le Web.config. J'y ajoute les lignes suivantes comme indiqué:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <membership defaultProvider="GestionProdMembershipProvider">
      <providers>
        <clear />
        <add name="GestionProdMembershipProvider" type="Gestion_Prod_Web.Models.Membership.GestionProdMembershipProvider, Gestion Prod Web" connectionStringName="GestionProdEntities" />
      </providers>
    </membership>
    <roleManager defaultProvider="GestionProdRoleProvider" enabled="true" cacheRolesInCookie="true">
      <providers>
        <clear />
        <add name="GestionProdRoleProvider" type="Gestion_Prod_Web.Models.Membership.GestionProdRoleProvider, Gestion Prod Web" connectionStringName="GestionProdEntities" />
      </providers>
    </roleManager>
    Et voici la connectionString utilisée (note: elle a été générée automatiquement quand j'ai créé mon .edmx)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <add name="GestionProdEntities" connectionString="metadata=res://*/Models.Membership.GestionProdMembership.csdl|res://*/Models.Membership.GestionProdMembership.ssdl|res://*/Models.Membership.GestionProdMembership.msl;provider=System.Data.SqlClient;provider connection string='data source=BISTOUFLEX-PC\BISTOUFLEX;initial catalog=&quot;Gestion Prod&quot;;integrated security=True;multipleactiveresultsets=True;App=EntityFramework'" providerName="System.Data.EntityClient" />
    Lorsque je lance mon projet j'ai cette exception qui apparaît immédiatement :
    "the supplied connection is not valid because it contains insufficient mapping or metadata information"
    en passant sur cette ligne du constructeur par default de mon MembershipProvider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public GestionProdEntities() : base("name=GestionProdEntities", "GestionProdEntities")
    {...
    Sauriez vous comment corriger ce problème ?
    Merci

  2. #2
    Membre éprouvé Avatar de Olivier P.
    Homme Profil pro
    Développeur Front-End chez un éditeur logiciel
    Inscrit en
    Octobre 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Front-End chez un éditeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 83
    Par défaut
    Bonjour,

    Avez-vous testé l'accès aux bases, sans utiliser les Providers ? (histoire de voir si le modèle EDMX et la chaine de connexion soient bien en phase).

  3. #3
    Invité
    Invité(e)
    Par défaut
    Pour créer cette connectionString, l'EDMX utilise une connectionString déja existante et totalement fonctionelle. On peut la voir dans le deuxième partie de la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    provider connection string='data source=BISTOUFLEX-PC\BISTOUFLEX;initial catalog="Gestion Prod";integrated security=True;multipleactiveresultsets=True;App=EntityFramework'" providerName="System.Data.EntityClient"

  4. #4
    Membre éprouvé Avatar de Olivier P.
    Homme Profil pro
    Développeur Front-End chez un éditeur logiciel
    Inscrit en
    Octobre 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Front-End chez un éditeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 83
    Par défaut
    je re-formule...

    Essayez de créer une requête (un select * par exemple) qui attaque votre base "Gestion Prod" via la chaine de connexion "GestionProdEntities"...

    Ca donne quoi ?
    Ce test permettra de vérifier que votre modèle et votre chaine de connexion sont ok.

    Au passage, votre database se nomme "Gestion Prod", je ne suis pas persuadé que l'espace entre Gestion et Prod soit bien interprété dans Entity Framework... J'ai un doute...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 47
    Par défaut
    Bonjour,

    Si je ne me trompe pas, pour initialiser le membership, il lui faut une connexionstring de type SqlClient et non pas entity.
    Vous devriez essayer d'explorer cette piste

  6. #6
    Membre éprouvé Avatar de Olivier P.
    Homme Profil pro
    Développeur Front-End chez un éditeur logiciel
    Inscrit en
    Octobre 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Front-End chez un éditeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 83
    Par défaut
    Citation Envoyé par damienolive Voir le message
    Bonjour,

    Si je ne me trompe pas, pour initialiser le membership, il lui faut une connexionstring de type SqlClient et non pas entity.
    Vous devriez essayer d'explorer cette piste
    non, on peut l'adapter sans aucun souci sur un modèle EF.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Pour etre franc, je n'ai jamais fait de connections a la main de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SqlConnection connect = new SqlConnection("...");
    J'essai toujours de trouver la bonne ligne, mais si au passage vous pouviez me donner la ligne que vous auriez utilisé, ce serait sympa

  8. #8
    Membre éprouvé Avatar de Olivier P.
    Homme Profil pro
    Développeur Front-End chez un éditeur logiciel
    Inscrit en
    Octobre 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Front-End chez un éditeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 83
    Par défaut
    ok. Je vous suggère alors de démarrer par un tuto sur Entity Framework. Par exemple celui là (en WebForms)

    http://www.asp.net/web-forms/overvie...work-tutorial)

    Ou celui là en MVC :

    http://www.asp.net/mvc/overview/models-(data)

  9. #9
    Invité
    Invité(e)
    Par défaut
    Je parviens a me connecter et effectuer des requêtes avec cette partie là de la connectionString:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    data source=BISTOUFLEX-PC\BISTOUFLEX;initial catalog="Gestion Prod";integrated security=True;multipleactiveresultsets=True;App=EntityFramework'
     
    =>>
     
    SqlConnection con = new SqlConnection(@"Data Source=BISTOUFLEX-PC\BISTOUFLEX;Initial Catalog='Gestion_Prod';Integrated Security=True; MultipleActiveResultSets='true'");
             con.Open();
             SqlCommand com = con.CreateCommand();
             com.CommandText = "SELECT * FROM Role";
             SqlDataReader reader = com.ExecuteReader();
             reader.Close();
             con.Close();
    Mais dès que j'ajoute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    metadata=res://*/Models.Membership.GestionProdMembership.csdl|....
    J'ai l'erreur Keyword not supported:'metadata'

Discussions similaires

  1. "Missing connection or ConnectionString"
    Par Mawie dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/06/2006, 08h13
  2. Créer connectionstring Oracle
    Par hottnikks_79 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 07/06/2006, 09h44
  3. Filemaker Pro connectionString
    Par ms_gaou dans le forum Autres SGBD
    Réponses: 6
    Dernier message: 23/05/2006, 16h34
  4. [DSN | connectionstring] Avantages et inconvenients ?
    Par christophebmx dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 17/02/2006, 13h31
  5. ConnectionString, astuce ?
    Par Cablan dans le forum Access
    Réponses: 5
    Dernier message: 24/08/2005, 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