cou*_*011 82 c# sql-server asp.net iis web-services
我创建了一个将一些数据保存到db的Web服务.但是我收到了这个错误:
无法打开登录请求的数据库"test".登录失败.用户'xyz\ASPNET'登录失败.
我的连接字符串是
Data Source=.\SQLExpress;Initial Catalog=IFItest;Integrated Security=True
Run Code Online (Sandbox Code Playgroud)
mar*_*c_s 45
嗯,错误很清楚,不是吗?您正在尝试使用用户"xyz/ASPNET"连接到您的SQL Server - 这是您的ASP.NET应用程序运行的帐户.
此帐户不允许连接到SQL Server - 在该帐户的SQL Server上创建登录,或者在连接字符串中指定另一个有效的SQL Server帐户.
你能告诉我们你的连接字符串(通过更新原始问题)吗?
更新:好的,您正在使用集成的Windows身份验证 - >您需要在SQL Server上为"xyz\ASPNET"创建SQL Server登录 - 或者将您的连接字符串更改为:
connectionString="Server=.\SQLExpress;Database=IFItest;User ID=xyz;pwd=top$secret"
Run Code Online (Sandbox Code Playgroud)
如果您的数据库中有一个用户名为"xyz",密码为"top $ secret".
gbn*_*gbn 25
我会选择第二个选项:错误消息暗示默认数据库不存在或没有权限,而不是设置为登录.
测试它是否设置为登录
SELECT SUSER_ID('xyz\ASPNET') -- (**not** SUSER_SID)
Run Code Online (Sandbox Code Playgroud)
如果为NULL
CREATE LOGIN [xyz\ASPNET] FROM WINDOWS
Run Code Online (Sandbox Code Playgroud)
如果不是NULL
USE test
GO
SELECT USER_ID('xyz\ASPNET')
Run Code Online (Sandbox Code Playgroud)
如果为NULL
USE test
GO
CREATE USER [xyz\ASPNET] FROM LOGIN [xyz\ASPNET]
Run Code Online (Sandbox Code Playgroud)
cyp*_*tus 10
对我来说,数据库没有创建,EF 代码应该首先创建它,但总是在这个错误中结束。相同的连接字符串在 aspnet 核心默认 Web 项目中工作。解决方案是添加
_dbContext.Database.EnsureCreated()
Run Code Online (Sandbox Code Playgroud)
在第一次数据库接触之前(在数据库播种之前)。
小智 8
登录问题的最佳解决方案是在sqlServer中创建登录用户.以下是创建使用Windows身份验证(SQL Server Management Studio)的SQL Server登录的步骤:
例如,如果用户名是xyz\ASPNET
,则在登录名框中输入此名称.
您还需要更改用户映射以允许访问要访问的数据库.
我有这个问题,为我解决的问题是:
大多数情况下,这不是登录问题,而是创建数据库本身的问题.因此,如果创建数据库时出错,则不会首先创建它.在这种情况下,如果您尝试登录,则无论用户如何,登录都将失败.这通常是由于db上下文的逻辑错误解释而发生的.
在浏览器中访问该站点并真正阅读这些错误日志,这可以帮助您发现代码的问题(通常与模型的逻辑问题相冲突).
在我的情况下,代码编译好,相同的登录问题,而我还在下载管理工作室,我通过错误日志,修复了我的数据库上下文约束和网站开始运行良好....同时管理工作室仍在下载
小智 6
这对我有用。
\n\n阅读此博客。
\n\n\n当您输入错误的数据库名称时也会发生这种情况
ex : xxx-db-dev to xxx-dev-db
Run Code Online (Sandbox Code Playgroud)
有时,这只是一个愚蠢的错误。我花了大约 1 个多小时才找到这个:(因为我只是先尝试了很多困难的事情
该错误显示为类似于以下内容的消息:
无法打开登录请求的数据库“DATABASE NAME”。登录失败。用户 XYZ 登录失败。
解决方案分为以下步骤。您不会丢失数据库中的任何数据,也不应删除数据库文件!
先决条件:您必须已安装 SQL Server Management Studio(完整版或快速版)
解决方案来源: https : //www.codeproject.com/Tips/775607/How-to-fix-LocalDB-Requested-Login-failed