Ne peut pas ouvrir la base de données “test” demandée par la connexion. La connexion a échoué. Échec de la connexion de l'utilisateur 'xyz\ASPNET'
J'ai créé un service web qui est l'enregistrement de certaines données dans la db. Mais j'obtiens cette erreur:
Impossible d'ouvrir la base de données "test" demandée par la connexion. La connexion a échoué. Échec de la connexion de l'utilisateur 'xyz\ASPNET'.
Ma chaîne de connexion est
Data Source=.\SQLExpress;Initial Catalog=IFItest;Integrated Security=True
- Nous avons besoin d'un ensemble beaucoup plus d'informations avant de nous peut aider à diagnostiquer cette.
- J'ai eu ce problème et fermé visual studio et l'a ouvert à nouveau et il a commencé à travailler..
Vous devez vous connecter pour publier un commentaire.
Bien, l'erreur est assez clair, non? Vous essayez de vous connecter à votre Serveur SQL server avec l'utilisateur "xyz/le RÉSEAU" - c'est le compte de votre ASP.NET application est en cours d'exécution en vertu de l'.
Ce compte n'est pas autorisé à se connecter à SQL Server - créer un compte de connexion SQL Server pour ce compte, ou alors spécifier un autre Serveur SQL valide compte dans votre chaîne de connexion.
Pouvez-vous nous montrer votre chaîne de connexion (par la mise à jour de votre question initiale)?
Mise à JOUR: Ok, vous êtes à l'aide de l'authentification Windows intégrée --> vous devez créer un compte de connexion SQL Server pour "xyz\ASPNET" sur votre Serveur SQL ou modifier votre chaîne de connexion à quelque chose comme:
Si vous avez un utilisateur "xyz" avec un mot de passe de "le haut de$secret" dans votre base de données.
J'irais pour la 2ème option: le message d'erreur implique la valeur par défaut de la base de données n'est pas là ou pas de droits, plutôt que de ne pas configuré en tant que connexion.
Pour tester si c'est mis en place comme une connexion
Si la valeur est NULL
Si non NULL
Si la valeur est NULL
La meilleure solution pour le problème de connexion est de créer un identifiant de connexion dans sql server. Voici les étapes pour créer un compte de connexion SQL Server qui utilise l'Authentification Windows (SQL Server Management Studio):
l'instance de serveur dans lequel créer le nouveau compte de connexion.
Par exemple, si le nom d'utilisateur est
xyz\ASPNET
, puis entrez ce nom dans la Zone nom de Connexion.Aussi vous avez besoin de modifier le mappage de l'Utilisateur afin de permettre l'accès à la Base de données auquel vous souhaitez accéder.
La plupart du temps, ce n'est pas un problème de connexion, mais un problème avec la création de la base de données elle-même. Donc si il y a une erreur lors de la création de votre base de données, il ne serait pas être créé en premier lieu. Auquel cas si vous avez essayé de vous connecter, quel que soit l'utilisateur, la connexion échoue. Cela se produit généralement en raison logique de l'interprétation erronée de la db contexte.
Visiter le site dans un navigateur et VRAIMENT lire ces journaux d'erreur, cela peut vous aider à repérer le problème avec vous code (généralement contradictoires des problèmes de logique avec le modèle).
Dans mon cas, le code compilé amende, même problème de connexion, alors que j'étais encore le téléchargement de la gestion de studio, je suis passé par le journal des erreurs, fixe ma db contexte de contraintes et de site a commencé en cours d'exécution fine....en attendant management studio est toujours en téléchargement
J'ai eu ce problème et résolu pour moi a été de:
La Question
L'erreur se présente comme un message de ce type:
Le Correctif
La solution est jeté dans les étapes suivantes. Vous ne perdrez pas les données dans votre base de données et vous ne devez pas supprimer votre fichier de base de données!
Pré-requis: Vous devez avoir installé SQL Server Management Studio (Complet ou Express)
La source de la solution: https://www.codeproject.com/Tips/775607/How-to-fix-LocalDB-Requested-Login-failed
Pour moi la base de données n'a pas été créé et EF le premier code doit avoir créé, mais toujours endet dans cette erreur. La même chaîne de connexion a été de travailler dans le réseau par défaut de base de projet web. La solution était d'ajouter
avant le premier contact de base de données (avant DB semis).
J'ai essayé de mettre à jour l'utilisateur, et cela a fonctionné. Voir la commande ci-dessous.
Il suffit de remplacer
user('ftool')
en conséquence.J'ai utilisé de l'authentification Windows pour se connecter à la base de données locale .fichier mdf et
mon serveur local a été sql server 2014.
Mon problème résolu à l'aide de cette chaîne de connexion:
La meilleure option serait d'utiliser l'authentification Windows intégrée est plus sûr que l'authentification sql. Créer un nouvel utilisateur windows dans sql server avec les autorisations nécessaires et modifier IIS utilisateur dans l'application paramètres de sécurité du pool.
Je n'ai pas vu ce mentionné dans le précédent questions, permettez-moi de jeter une autre possibilité. Il se pourrait que
IFItest
n'est pas accessible ou n'existe tout simplement pas. Par exemple, si on a un certain nombre de configurations, chacune avec sa propre base de données, il se pourrait que le nom de base de données n'a pas été modifié pour la bonne pour la configuration actuelle.Cela Fonctionne pour moi.
De lire ce blog.
http://blog.sqlauthority.com/2009/08/20/sql-server-fix-error-cannot-open-database-requested-by-the-login-the-login-failed-login-failed-for-user-nt-authoritynetwork-service/
Il également se produire lorsque vous tapez un nom erroné de DB
Parfois, c'est juste une erreur stupide . Je prends environ plus de 1 heures pour trouver ceci 🙁 juste parce que j'ai essayer beaucoup de chose difficile première
Inspiré par cyptus la réponse que j'ai utilisé
sur EF6 avant le premier contact de base de données (avant DB semis).
J'ai trouvé que j'ai également eu à régler la UserMapping option lors de la création d'une nouvelle connexion et cela a résolu le problème pour moi. Hope qui aide toute personne qui se trouve aussi coincé ici!
Edit: Réglage de la connexion db propriétaire résolu le problème suivant, trop
Quelques fois ce problème peut survenir si vous avez ouvert cette bd dans un autre sql server (par exemple, vous lancez sql management studio(SMS) et ajouter cette db), et d'oublier arrêt de ce serveur. Comme résultat de - vous l'app essayez de vous connecter avec un utilisateur déjà connecté dans la bd sous un autre serveur. Pour corriger cela, essayez d'arrêter ce serveur par Config. répartiteur de sql server.
Mes excuses au sujet de mauvais anglais.
Cordialement, Ignat.
Dans mon cas, le asp.net l'application peut généralement se connecter à la base de données sans aucun problème. J'ai remarqué un tel message dans les logs. Je allumez les journaux de SQL server et je trouve ce message:
Il semble donc que le serveur était en train de redémarrer et que SQL server whad été la fermeture un peu plus tôt, puis ASP.NET l'application et la base de données n'a pas été disponible pendant quelques secondes avant de redémarrer le serveur.
Même si vous avez configuré la connexion DB du propriétaire et de définir le mappage de l'utilisateur pour la base de données à utiliser la connexion, vérifiez que le DB utilisateur (et pas seulement de la connexion) a le rôle de "propriétaire".
NB: Si vous utilisez un service windows pour accueillir le webservice.
Vous devez vous assurer que votre site web est à l'aide de le droit ouvrir une session sur le compte pour se connecter à SQL Server.
Si vous n'avez pas créé la base de données de votre serveur, vous obtiendrez la même erreur de connexion.Assurez-vous que la base de données existe pas avant de vous identifier.