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 :

SqlConnection et Web application


Sujet :

ASP.NET

  1. #1
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut SqlConnection et Web application
    Bonjour,
    J'ai un problèèème,

    Je récupère un projet Web ASP.NET,
    projet qui accède à une base Sql Server,
    mon soucis est que sur mon poste, lorque la web app s'exécute dans mon IIS,
    il est incappable d'accéder au serveur de base de données, alors que même chaine de connection dans une winForm sur mon poste arrive à accéder à la base de donnée...
    L'appli exécutée à partir d'un autre poste de dev (celui de mon collègue qui bosse là dessus depuis un moment) fonctionne tip top,

    Une idée ???

    BenJ
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  2. #2
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Pour complément :
    En fait, en WebForm, je ne peux accéder aux sources de données suivantes :
    ODBC,
    SQLConnection
    OLEConnection,

    Le message d'erreur est toujours le même : l'instance n'existe pas ou la connexion est refusée ...

    alors qu'en WinForm ca marche...

    Help
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  3. #3
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    bonjour,
    quelle est la manière exact que tu utilises pour te connecter?
    est-ce .net 2.0 ou 1.1?

  4. #4
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Bonjour,
    le seul accès qui fonctionne est avec le sql serveur de mon poste de dev,
    Conf : Win XP sp2,
    Pour le dev de cette appli : Framework 1.1 - IIS 5.1 (celui intégré à XP),

    Sinon, je passe par un objet sqlConnection, avec une chaine string de connection.
    Cette chaine fonctionne, car dans une petite app winForm, no soucy, j'arrive à atteindre le serveur de prod,

    Chez le client tout est OK, ca marche nikel...
    La situation relève de l'incompris jusqu'ici...

    tu vois pq ?

    Merci,
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  5. #5
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    je pense que ça pourrait venir de la chaîne de connexion, ou alors les protocoles de ton serveur SQL ne sont pas bien configuré.
    quelle est ta connectionString?

    ps : http://www.connectionstrings.com

  6. #6
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    C'est ce que je me suis dit jusqu'à ce que je teste la connectionString dans une application WinForm où ca marche ...
    Si cela avait été la connectionString, elle ne fonctionnerait ni dans une Winform ni dans une webform, en tout cas il me semble...

    merci pour le site, je connaissais,

    Donc bizare...
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  7. #7
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    bien donc on peut eliminer le problème de la chaîne de connexion...
    tu utilises Visual Studio 2003?
    effectivement c'est bizarre pcq la manière de se connecter à une db est exactement la meme que ce soit web ou win
    as-tu regardé au niveau de la sécurité de ton site, de ton serveur DB ?
    l'erreur est une exception de .net? ou une erreur du serveur?

  8. #8
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Pour l'exception, elle provient de l'exécution de mon appli qui me signale que le serveur distant est inaccessible ou n'accepte pas les connexions , ce qui est faux vu qu'une winform arrive à atteindre le serveur... (cfr posts précedent)
    donc reste la sécurité, alors quel paramètre IIS bloquerait mon accès DB distant ? j'en sais rien...
    Jusque là, nous sommes toujours dans mon hypothèse de départ : sécurité IIS ? ...

    Mais bon
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  9. #9
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    ton db server c'est SQL Server?
    si c'est le cas, normalement tu dois avoir dans Security/Login (de l'Enterprise Manager) un utilisateur "MonPoste\ASPNET"
    vérifie ça, dommage que le message d'erreur n'est pas un peu plus précis....

  10. #10
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Je suis d'acord, domage que le message d'erreur ne soit pas plus précis.
    Concernant l'utilisateur, je ferai un essai avec ASPNET lundi,
    néanmoins, j'ai des doutes concernant la réussite car l'utilisateur et le mot de passe sont passés dans ma chaine de connection, donc je n'utilise pas ASPNET pour accéder à SQL Server, mais un autre utilisateur par la connection string.

    on verra,
    @+ et merci quand même,
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  11. #11
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    de toute façon oublie le problème de l'utilisateur ASPNET car je viens d'essayer sans et ça fonctionne qd mm, donc ce n'est pas ça.

    ce n'est pas évident de reproduire une erreur

  12. #12
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Claro que si !!!
    ou alors, c'est la faute au admins réseau loool
    quand c'est pas ma faute, ou la faute à Dieu, c'est les admins...
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  13. #13
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    as-tu essayé de mettre ton appli sur un autre poste pour savoir si ce n'etait pas IIS où tes chemins d'accès qui etaient erronés?

    ps : je check toutes les éventualités pcq je n'ai jamais eu cette erreur...

  14. #14
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Salut,
    ouich j'ai echayé, et meme résultat,
    pfff, là ca devient vraiment ... inexplicable...

    Je continue de chercher, si je trouve je mettrai sur le forum...
    En tout cas merci de ton aide !
    BenJ
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  15. #15
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    Mais de rien. idem si je trouve qqch

  16. #16
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Ok,
    je crois que j'ai trouvé (en tout cas ca marche) :
    Apparemment, voici le cheminement d'une connexion entre une appli (Web ou non Web et un serveur SQL Serveur)
    Appli -> Serveur hébergeant SQL Serveur-> Existe t il une instance SQL Serveur ?
    Serveur hébergeant SQL Serveur-> Appli : Qui es tu ?
    Appli -> Serveur hébergeant SQL Serveur : je suis [le compte utilisateur sous lequel tourne l'appli]
    Serveur hébergeant SQL Serveur : vérifications :
    - Est ce que je connais l'utilisateur en question (Active Directory, utilisateurs locaux,...)
    - SI non : compte utilisateur invité est il activé ?
    - Si non => la machine répond : passe ton chemin...

    SI l'utilisateur est connu OU que le compte utilisateur invité est actif sur le Serveur hébergeant SQL Serveur, alors la couche SQLConnection du framework peut interroger le serveur SQL Serveur hébergé...
    avec le nom d'utilisateur et le mot de passe.

    Il existe une KB sur un site microsoft qui en parle, mais je n'arrive plus à retomber dessus. Si je retrouve, je placerai le lien ici...

    Encore une subtilité Microsoftienne...

    Conclusion : avant qu'une application puisse interroger un serveur SQL Serveur, il faut que le compte utilisateur sur lequel s'exécute l'application soit connu du serveur hébergeant l'instance sql Serveur...
    Nous avons donc deux niveaux de sécurité :
    1- Applicatif du système d'exploitation
    2- SQL Serveur

    Je pense que le problème venait de là... pfff,

    PS : mais peut être que je me trompe , si qqun dispose d'une information différente, qu'il me corrige !

    Merci de ton aide...
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  17. #17
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    donc si ça ne fonctionne pas c'est que tu n'utilisais pas la meme connectionstring pour tes applications, meme si ct la meme méthode, pcq ça fonctionne de la meme façon en web et en win, et rien ne t'empeche d'utiliser le meme user d'un coté et de l'autre.

    mais ça me parait qd mm un bonne piste

  18. #18
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Par défaut
    Si, c'est la même chaine de connection (copier-coller),

    mais comme je l'indique dans l'explication :
    au moment où l'application interroge le serveur, il s'adresse d'abord au système d'exploitation (Windows) pour savoir si une instance SQL Server (ou MSDE) existe.
    A ce moment, le compte utilisateur avec lequel fonctionne l'application
    - IWAN_... pour une application Web ASP.NET
    - Ton compte utilisateur en cas d'application Win,

    ce compte est celui qui intéroge la machine qui héberge SQL Server.
    SI le compte invité nest pas activé et que le compte utilisateur 'cité plus haut) qui exécute l'appli (Web ou Win) est inconnu du systeme d'exploit (Windows) qui héberge SQL Server,
    Windows refusera l'accès à la ressource.

    SI le compte invité est activé, et que le compte utilisateur qui exécute l'appli (Web ou Win) est inconnu, le Windows qui héberge SQL Server laissera l'appli demander l'accès à SQL Server en tant qu'invité, à ce moment c'est le nom d'utilisateur et le mot de passe de la chaine de connection qui seront utilisés pour interroger SQL Server.

    Evidement, si le compte utilisateur qui exécute l'appli est connu du Windows qui héberge SQL Server, no soucy pour passer cette première barrière.

    Il y a donc deux barrières de sécurité lorsqu'une appli interroge une ressource SQL Server :
    1> Le système d'exploitation qui héberge l'instance SQL Server,
    2> La sécurité inhérente à l'instance SQL Server.

    Lorsqu'on utilise le mode d'authentification Windows pour SQL Server,
    on passe les deux barrières sans soucis si l'utilisateur est autorisé à :
    -accéder au Windows hébergeant SQL Server (à moins que le compte utilisateur invité du Windows soit actif),
    -accéder aux ressources SQL Server,

    Voilou ce que j'ai compris de l'article Microsoft KB concernant ce problème. Si je retombe dessus, je place le lien.

    BenJ
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

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

Discussions similaires

  1. hibernate with web application
    Par oughlad dans le forum Hibernate
    Réponses: 5
    Dernier message: 15/05/2006, 13h03
  2. web application index ? web site index ?
    Par santana2006 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 09/05/2006, 21h53
  3. Réponses: 1
    Dernier message: 07/05/2006, 00h26
  4. Réponses: 1
    Dernier message: 05/05/2006, 22h34

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