Pblm connection a ASPNET.MDF
Depuis maintenant presque un moi que je souffre avec cette erreur, j'ai fouiner tout les forums qui parlent de ce sujet et j'ai tt fais mais rien a changé, je suis sous Win XP sp2, j'utilise Visual studio 2005 express edition, j'ai développer un site web avec ASP.NET 2.0, ou j'utilise le contrôl Login fournis par visual studio, sous visual studio tt marche trés bien, mais quand je déploie mon site sour IIS, la d'identification s'affiche normalement, mais quand j'essaye de me connécter je reçoie l'erreur suivante:
Impossible d'ouvrir la base de données par défaut de l'utilisateur. Échec de la connexion.Échec de l'ouverture de session de l'utilisateur 'NomMachine\ASPNET'
Alors a l'aide de Sql managment studio, j'ai créer cet utilisateur, et je l'ai associé a la base de donnée ASPNET.MDF, aprés avoir la joindre biensur, et je lui ai donné les droits de lecture et d'écriture, et j'ai aussi ajouter cet utilisateur et je lui ai donné tout les droits pour accéder au répertoir app_Data qui contient la base de donnée ASPNET.MDF, mais je reçoie toujour la même erreur, et je ne sais plus quoi faire maintenant.
et aussi une derniere chose l'utilisateur ASPNET existe dans mon "Gestion de l'ordinateur-->utilisateur"
Merci a tous.
réponse à mikedavem et à SQLpro
Réponse à mikedavem :
Citation:
Pour être sûr de repartir sur de bonnes bases , supprimez votre utilisateur
Code :
USE NetMatos
GO
EXEC sp_dropuser 'ASPNET'
GO
Ensuite récréez votre user , refaites le mappage entre votre login et votre user et ajoutez de nouveau votre user en tant que propriétaire de votre base
Code :
USE NetMatos
GO
-- Ajout user dans la base + mappage login -> user
EXEC sp_grantdbaccess 'loic','ASPNET'
GO
-- Ajout de l'utilisateur au rôle db_owner (tous les droits sur la base)
EXEC sp_addrolemember 'db_owner','ASPNET'
GO
Vous ne devriez plus avoir de message d'erreur et votre user ASPNET via votre connexion 'loic' devrait pouvoir fonctionner comme vous le voulez.
Vous pouvez tester cela en vous connectant avec l'analyseur de requête avec votre connexion 'loic' et voir si vous pouvez lire, insérer et mettre à jour vos données par de simple instruction SQL.
Donc j'ai fais cela et cela fonctionne parfaitement et comme l'a précisé SQLpro, j'ai redémarré SQL Server.
Citation:
Il ne vous reste plus qu'à vous occuper de votre chaine de connexion sur VS2003.
Donc comme je l'es dit plus haut j'utilise le composant SQLConnection voici le 'ConnectionString' :
Code:
workstation id="ACER-564DF136B7";packet size=4096;user id=loic;data source="ACER-564DF136B7";persist security info=False;initial catalog=NetMatos
Mais lorsque j'exécute mon application web, la page d'accueil apparaît sans problème mais c'est lorsque je clique sur un lien ou il y a besoin d'une connexion à la base voici l'erreur que j'obtiens :
Citation:
Erreur du serveur dans l'application '/NetMatos'.
--------------------------------------------------------------------------------
Échec de la connexion de l'utilisateur 'loic'.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Data.SqlClient.SqlException: Échec de la connexion de l'utilisateur 'loic'.
Erreur source:
Ligne 54 : {
Ligne 55 : // Initialisation de chaque table du DataSet
Ligne 56 : da_mat.Fill(ds, "MATERIEL");
Ligne 57 : da_cat.Fill(ds, "CATEGORIE");
Ligne 58 : da_cpte.Fill(ds, "COMPTE");
Fichier source : c:\inetpub\wwwroot\netmatos\formbase.aspx.cs Ligne : 56
Trace de la pile:
[SqlException: Échec de la connexion de l'utilisateur 'loic'.]
System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) +484
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +372
System.Data.SqlClient.SqlConnection.Open() +384
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) +44
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +304
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +77
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +36
mat.formbase.initialisation() in c:\inetpub\wwwroot\netmatos\formbase.aspx.cs:56
mat.inscription.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\NetMatos\inscription.aspx.cs:43
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750
Quelqu'un a t-il une idée pour régler ce problème??
Merci d'avance.