OVH Cloud OVH Cloud

Accès Base de données

5 réponses
Avatar
Fred
Bonjour,
J'interroge une base de données à partir de pages aspx, mais aussi à partir
de services web.
Lorsque je code mes accès directement dans les pages aspx, pas de problème
pour ouvrir la connexion à la base de données avec une chaîne de connexion
incluant le paramètre : Integrated Security=SSPI
(J'ai créé une connexion pour ASPNET dans ma base)
J'ai voulu réorganiser mon code en plaçant tous les accès BDD dans un projet
de type librairie de classes (pour ne pas écrire la même chose dans mes
pages aspx et mes pages asmx)
Du coup, je récupère l'erreur suivante :
Impossible d'initialiser le package SSPI
Que se passe-t-il ? Voyez-vous une contre-indication à ma façon de
réorganiser le code ?

5 réponses

Avatar
Fred
Une information supplémentaire.
Le message d'erreur fait référence à des lignes de code situées dans des
fichiers sur mon poste de développement.
Effectivement, mon projet de librairie de classes est stocké en local.
Je n'y voyais pas d'inconvénient puisque lors de la régénération du projet
WebForm, les dll sont bien copiées dans le répertoire bin de mon application
Web.
Une piste ?
Avatar
Fred
"Fred" a écrit dans le message de news:

Bonjour,
J'interroge une base de données à partir de pages aspx, mais aussi à
partir de services web.
Lorsque je code mes accès directement dans les pages aspx, pas de problème
pour ouvrir la connexion à la base de données avec une chaîne de connexion
incluant le paramètre : Integrated Security=SSPI
(J'ai créé une connexion pour ASPNET dans ma base)
J'ai voulu réorganiser mon code en plaçant tous les accès BDD dans un
projet de type librairie de classes (pour ne pas écrire la même chose dans
mes pages aspx et mes pages asmx)
Du coup, je récupère l'erreur suivante :
Impossible d'initialiser le package SSPI
Que se passe-t-il ? Voyez-vous une contre-indication à ma façon de
réorganiser le code ?




Bon, j'ai contourné mon problème mais d'une façon qui ne me satisfait pas
vraiment.
En fait tout vient de mon architecture Active Directory.
J'ai réussi à voir sous quelle identité était exécuté mon code : AUTORITÉ
NTSERVICE RÉSEAU
Ce qui correspond bien à mon paramétrage du DefaultAppPool (sur un serveur
2003)
Problème : Comment créer une connexion sur mon serveur SQL qui lui tourne
sur un 2000 ?
Je ne retrouve pas cet utilisateur dans Active Directory, et je pense que
cela est dû au fait que mon application tourne sur un DC (je sais, ce n'est
pas bien, mais je suis limité en moyens pour le moment)
Donc j'ai créé une connexion standard sur mon Serveur SQL et cela
fonctionne, mais je n'aime pas le principe.
Voyez-vous un moyen de repasser en authentification Windows intégrée ?
J'ai tenté divers utilisateurs dans les propriétés du DefaultAppPool mais
ces essais se soldent par un "Service unavailable". Problème de droits NTFS
peut-être ?
Avatar
Paul Bacelar
Le "DefaultAppPool", si mes souvenir sont bons, est lié à IIS et pas au
processus dédié à l'exécution des pages ASPX qui est un processus autonome,
avec un utilisateur particulier en fonction de l'OS.

--
Paul Bacelar

"Fred" wrote in message
news:

"Fred" a écrit dans le message de news:

> Bonjour,
> J'interroge une base de données à partir de pages aspx, mais aussi à
> partir de services web.
> Lorsque je code mes accès directement dans les pages aspx, pas de


problème
> pour ouvrir la connexion à la base de données avec une chaîne de


connexion
> incluant le paramètre : Integrated Security=SSPI
> (J'ai créé une connexion pour ASPNET dans ma base)
> J'ai voulu réorganiser mon code en plaçant tous les accès BDD dans un
> projet de type librairie de classes (pour ne pas écrire la même chose


dans
> mes pages aspx et mes pages asmx)
> Du coup, je récupère l'erreur suivante :
> Impossible d'initialiser le package SSPI
> Que se passe-t-il ? Voyez-vous une contre-indication à ma façon de
> réorganiser le code ?
>

Bon, j'ai contourné mon problème mais d'une façon qui ne me satisfait pas
vraiment.
En fait tout vient de mon architecture Active Directory.
J'ai réussi à voir sous quelle identité était exécuté mon code : AUTORITÉ
NTSERVICE RÉSEAU
Ce qui correspond bien à mon paramétrage du DefaultAppPool (sur un serveur
2003)
Problème : Comment créer une connexion sur mon serveur SQL qui lui tourne
sur un 2000 ?
Je ne retrouve pas cet utilisateur dans Active Directory, et je pense que
cela est dû au fait que mon application tourne sur un DC (je sais, ce


n'est
pas bien, mais je suis limité en moyens pour le moment)
Donc j'ai créé une connexion standard sur mon Serveur SQL et cela
fonctionne, mais je n'aime pas le principe.
Voyez-vous un moyen de repasser en authentification Windows intégrée ?
J'ai tenté divers utilisateurs dans les propriétés du DefaultAppPool mais
ces essais se soldent par un "Service unavailable". Problème de droits


NTFS
peut-être ?






Avatar
Fred
"Paul Bacelar" a écrit dans le message
de news:d1nqe3$oeu$
Le "DefaultAppPool", si mes souvenir sont bons, est lié à IIS et pas au
processus dédié à l'exécution des pages ASPX qui est un processus


autonome,
avec un utilisateur particulier en fonction de l'OS.

--
Paul Bacelar




Bonjour,
Oui, effectivement ! Donc mon problème ne vient pas de là.
Merci pour votre réponse très éclairante.
En fait, c'est le compte utilisé par Asp .NET pour lequel je n'arrive pas à
créer une connexion à la base de données. J'avais créé une connexion pour
MonDomaineMonServeur$ (où mMonServeur est le nom du poste qui héberge les
applications). C'est cette connexion qui ne fonctionne plus.
Mais, bon, il faut que j'avance et ma solution provisoire (connexion
standard) est suffisante pour cela..
Je ne sais pas où retrouver ce AUTORITE NTSERVICE RESEAU pour le moment.
L'idéal serait peut-être que je crée un compte AD spécifique pour mon
application ?
Avatar
Fred
Bonjour,
Tout est revenu à la normale.
Lorsque j'ai créé mes librairies de classes, je me suis retrouvé avec un
conflit de noms dans mes dll.
Il semble que l'une de mes dll portait le même nom qu'une dll du framework
(security) ?
Je m'en suis rendu compte fortuitement, en testant un service web qui ne
trouvait pas un point d'entrée dans security.dll
Après avoir renommé ma dll, j'ai pu à nouveau me connecter à ma base sans
erreur.



"Paul Bacelar" a écrit dans le message
de news: d1nqe3$oeu$
Le "DefaultAppPool", si mes souvenir sont bons, est lié à IIS et pas au
processus dédié à l'exécution des pages ASPX qui est un processus
autonome,
avec un utilisateur particulier en fonction de l'OS.

--
Paul Bacelar

"Fred" wrote in message
news:

"Fred" a écrit dans le message de news:

> Bonjour,
> J'interroge une base de données à partir de pages aspx, mais aussi à
> partir de services web.
> Lorsque je code mes accès directement dans les pages aspx, pas de


problème
> pour ouvrir la connexion à la base de données avec une chaîne de


connexion
> incluant le paramètre : Integrated Security=SSPI
> (J'ai créé une connexion pour ASPNET dans ma base)
> J'ai voulu réorganiser mon code en plaçant tous les accès BDD dans un
> projet de type librairie de classes (pour ne pas écrire la même chose


dans
> mes pages aspx et mes pages asmx)
> Du coup, je récupère l'erreur suivante :
> Impossible d'initialiser le package SSPI
> Que se passe-t-il ? Voyez-vous une contre-indication à ma façon de
> réorganiser le code ?
>

Bon, j'ai contourné mon problème mais d'une façon qui ne me satisfait pas
vraiment.
En fait tout vient de mon architecture Active Directory.
J'ai réussi à voir sous quelle identité était exécuté mon code : AUTORITÉ
NTSERVICE RÉSEAU
Ce qui correspond bien à mon paramétrage du DefaultAppPool (sur un
serveur
2003)
Problème : Comment créer une connexion sur mon serveur SQL qui lui tourne
sur un 2000 ?
Je ne retrouve pas cet utilisateur dans Active Directory, et je pense que
cela est dû au fait que mon application tourne sur un DC (je sais, ce


n'est
pas bien, mais je suis limité en moyens pour le moment)
Donc j'ai créé une connexion standard sur mon Serveur SQL et cela
fonctionne, mais je n'aime pas le principe.
Voyez-vous un moyen de repasser en authentification Windows intégrée ?
J'ai tenté divers utilisateurs dans les propriétés du DefaultAppPool mais
ces essais se soldent par un "Service unavailable". Problème de droits


NTFS
peut-être ?