我已经创建了一个web服务,它将一些数据保存到数据库中。但是我得到了这个错误:
无法打开登录所请求的数据库"test“。登录失败。用户'xyz\ASPNET‘登录失败。
我的连接字符串是
Data Source=.\SQLExpress;Initial Catalog=IFItest;Integrated Security=True
发布于 2010-04-05 05:16:42
好吧,错误很明显,不是吗?您正在尝试使用用户"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"
如果您的数据库中有一个密码为"top$secret“的用户"xyz”。
发布于 2010-04-05 18:21:57
测试:"xyz\ASPNET“不是登录名(在sys.server_principals)
我选择第二个选项:错误消息暗示默认数据库要么不在那里,要么没有权限,而不是不设置为登录。
测试它是否设置为登录名
SELECT SUSER_ID('xyz\ASPNET') -- (**not** SUSER_SID)
如果为空
CREATE LOGIN [xyz\ASPNET] FROM WINDOWS
如果不为空
USE test
GO
SELECT USER_ID('xyz\ASPNET')
如果为空
USE test
GO
CREATE USER [xyz\ASPNET] FROM LOGIN [xyz\ASPNET]
发布于 2015-05-14 16:10:33
我有这个问题,解决它的方法是:
自定义帐户选项
F211
https://stackoverflow.com/questions/2575907
复制相似问题