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 de ConnectionString


Sujet :

ASP.NET

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut Problème de ConnectionString
    Bonjour à tous !

    Je viens vous demander de l'aide car après plus de trois jours de recherche, mon problème perdure toujours.

    Voici mon problème :

    J'ai crée une application de gestion et de statistique, rien de bien exceptionnel. la base de données n'est pas hébergé par un serveur SQL mais est utiliser comme fichier de base de données ( donc aucun lien avec le server SQL !)

    Le problème est que la connexion à la base de données en question pose problème.

    Voici ma ConnectionString :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS ;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=SSPI;User Instance=True" providerName="System.Data.SqlClient"/>
    Voici le message d'erreur qui est affiché :

    Échec de la création d'une instance utilisateur SQL Server en raison d'une défaillance d'extraction du chemin d'accès aux données de l'application locale de l'utilisateur. Vérifiez que l'utilisateur a un profil d'utilisateur local sur l'ordinateur. Fermeture de la connexion.
    Qu'en pensez-vous ?

    Merci d'avance de vos réponses et n'hésitez pas à me demander de plus amples détails si je n'ai pas été assez claire.

    J'espère que vous pourrez m'aider...car je ne vois plus quoi faire

    Dario

  2. #2
    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
    Il faudrait savoir comment est paramétrée la sécurité d'accès. Compte du site ou compte de l'utilisateur ?

    Dans ce cas, le compte a-t-il les droits d'accès à la base ?

    Accessoirement, pourquoi ce choix un peu bizarre d'attacher la base au moment de la connexion ? quelle est la finalité ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    Bonsoir BlueDeep,

    tout d'abord merci pour votre réponse rapide.

    Il faudrait savoir comment est paramétrée la sécurité d'accès. Compte du site ou compte de l'utilisateur ?
    Je ne suis pas sûr de comprendre...

    La base de données que j'ai, a été créée automatiquement par VS.

    Concernant l'accès, il est en contrôle totale pour le groupe "Tout le monde".

    Je ne sais pas si c'est cela que vous vouliez savoir.

    Accessoirement, pourquoi ce choix un peu bizarre d'attacher la base au moment de la connexion ? quelle est la finalité ?
    La base de données n'est pas attaché au moment de la connexion, mais elle est définie dans le web.config.

    Excusez-moi si ce n'était pas claire.

    Dario

  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 : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

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

    A priori tu utilises le mode d'authentification Windows. Il faut que le compte de service utilisé par ton application ait les permissions pour se connecter à ta base.

    Il faut rajouter ce compte dans SQL Server, et lui donner les permissions adéquates (lecture et/ou écriture).
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    Il faut rajouter ce compte dans SQL Server, et lui donner les permissions adéquates (lecture et/ou écriture).
    Mais comment puis-je connaître ce compte ?

    Dario.

  6. #6
    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 : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Mais comment puis-je connaître ce compte ?
    Bonne question... Est-ce que tu déploies ton site sous IIS, ou est-ce que tu utilises le web server de Visual Studio (via CTRL + F5 ou juste F5) ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    Est-ce que tu déploies ton site sous IIS, ou est-ce que tu utilises le web server de Visual Studio
    Pour les tests du site, j'utilise VS.

    Concernant l'utilisation finale du site, je le déploie sur IIS.

    Dario

  8. #8
    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 : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Ok alors pour IIS, il faut que tu regardes le compte utilisé par l'application pool de ton site. Tu dois donner les permissions à ce compte dans SQL Server.

    Concernant le serveur Web de VS, je ne suis absolument pas sûr de ma réponse, mais je pense qu'il se lance sous ton compte utilisateur. Donc il faut vérifier que ton compte ait bien les droits dans SQL Server.
    Si quelqu'un peut confirmer ou infirmer cela, je suis preneur
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    Tu dois donner les permissions à ce compte dans SQL Server
    Le problème, c'est que la base de données n'est pas jointe au serveur SQL !

    Dois-je joindre la base au Server SQL ?

    mais je pense qu'il se lance sous ton compte utilisateur.
    Effectivement il se lance bien avec mon compte...mais ça ne pose aucuns prolème.

  10. #10
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    comment te connectes-tu à ta base, il faut utiliser le provider SqlCeConnection et non SqlConnection.

  11. #11
    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 : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Peut-être qu'un coup d'oeil à cet article : http://msdn.microsoft.com/en-us/library/ms254504.aspx te permettra de repérer un problème.

    Ce qui est sûr, c'est que la base est forcément rattachée à un moment ou à un autre à ton serveur SQL Express.

    Est-ce que ton compte utilisateur, ainsi que le compte de l'AppPool de IIS ont les permissions lecture/écriture/modif sur les fichiers .mdf et .ldf) ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    youtpout978 :
    il faut utiliser le provider SqlCeConnection et non SqlConnection
    Le provider utiliser dans ma chaîne de connexion est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    providerName="System.Data.SqlClient"

  13. #13
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    je parle de la requête que tu fais pour récupérer des données dans ta base, en faite à quel moment intervient cette erreur?
    la mienne ressemble à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <add name="Test.Properties.Settings.PersonneConnectionString"
                connectionString="Data Source=|DataDirectory|\Personne.sdf"
                providerName="Microsoft.SqlServerCe.Client.3.5" />

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    youtpou978 :

    en faite à quel moment intervient cette erreur?
    Elle intervient au moment où je me connecte au site ( j'utilise la base auto-généré par VS et la page de login auto-généré par VS) !

    Dario

  15. #15
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    j'ai déjà réalisé un projet web qui faisait ça, je regarde ce soir si je retrouve mes sources et je te tiens au courant

  16. #16
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    youtpout978 :

    Nickel, c'est super sympas !

    Merci beaucoup pour le temps que vous m'accordez !

    Dario

  17. #17
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    j'ai un projet qui utilises une bdd mdf, elle se trouve dans le dossier App_Data

    voila la connectionstring:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="yafnet" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;" providerName="System.Data.SqlClient"/>
    comme la tienne, mais ton site il bug quand tu le lance depuis visual studio ou une fois déployer dans IIS?

  18. #18
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    youtpout978 :

    Il me semble que nos connectionstring sont pareils :

    la votre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="yafnet" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;" providerName="System.Data.SqlClient"/>
    la mienne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS ;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=SSPI;User Instance=True" providerName="System.Data.SqlClient"/
    Sous VS le site fonctionne parfaitement!

    Par contre une fois déployé sur IIS....c'est la catastrophe !

    Deux petites questions :

    1. Est-ce que l'ordre des paramètres est important ?
    2. Au niveau du paramètre "Security", quelle est la différence entre "true" et "SSPI" ?


    Ensuite, concernant la base de données, faut-il la joindre dans SQL Server ?

    Si oui, quand et comment ?

    Dario

  19. #19
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    l'ordre des paramètres n'est pas important, c'est ta config IIS qui est à revoir je me rappel plus ce qu'on avait fait pour le faire marché sur IIS, faudrait que je configure IIS en local pour tester ça

    pour la différence entre true et SSPIhttp://www.developpez.net/forums/d10...security-sspi/

  20. #20
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    Est-tu sûr que c'est la config du serveur qui est à revoir ? Car c'est un serveur de production et il y a déjà des applications web qui tournent dessus !

    Au moment de la création de la base de données, est-il possible de dire à VS qu'il doit directement la stocker sur le serveur de production ?

    Si oui, comment faire pour que la base soit auto-généré et placée automatiquement sur le serveur ?

    Dario

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/07/2010, 12h17
  2. Réponses: 0
    Dernier message: 13/05/2009, 22h06
  3. [débutant] problème de ConnectionString
    Par LJL51 dans le forum Accès aux données
    Réponses: 5
    Dernier message: 01/09/2008, 09h57
  4. Problème ConnectionString avec SQL Sever 2005
    Par Aizen64 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 12/02/2008, 15h44
  5. Réponses: 2
    Dernier message: 23/03/2007, 14h00

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