gpt4 book ai didi

sql-server - SQL Server : Cannot open database requested by the login

转载 作者:行者123 更新时间:2023-12-02 10:12:39 27 4
gpt4 key购买 nike

在调试 IIS Express 下运行的 ASP.Net MVC 应用程序时,尝试使用成员资格提供程序时出现以下错误:

Cannot open database "MyDB" requested by the login. The login failed.

Login failed for user 'MY-PC\MyName'.

我尝试使用中概述的步骤进行故障排除

https://stackoverflow.com/a/2577854/141172

SELECT SUSER_ID('MY-PC\MyName')

返回一个 ID。

SELECT USER_ID('MY-PC\MyName')

返回NULL

CREATE USER [MY-PC\MyName] FROM LOGIN [MY-PC\MyName]

返回错误信息

The login already has an account under a different user name.

确实有一个登录帐户,是我创建数据库时自动创建的,名为

dbo

映射到MY-PC\MyName

我的连接字符串是

Data Source=.\SQLEXPRESS;Initial Catalog=MyDB;Persist Security Info=True;Integrated Security=SSPI;

在生产环境中运行我会知道如何创建适当的用户和登录。当 Windows 帐户已与 dbo 关联时,我一直困惑于如何解决 IIS Express 使用我的 Windows 帐户名尝试登录 MyDB 的问题。

最佳答案

事实证明,这是连接字符串的初始目录部分中的拼写错误。

查看事件日志,我看到类似的错误

Login failed for user 'MY-PC\MyName'. Reason: Failed to open the explicitly specified database. [CLIENT: ]

然后查看同一事件的详细信息选项卡,我看到包含二进制数据以字节为单位信息

0000: 18 48 00 00 0E 00 00 00   .H......
0008: 17 00 00 00 45 00 52 00 ....E.R.
0010: 49 00 43 00 2D 00 4F 00 I.C.-.O.
0018: 52 00 49 00 47 00 49 00 R.I.G.I.
0020: 4E 00 5C 00 53 00 51 00 N.\.S.Q.
0028: 4C 00 45 00 58 00 50 00 L.E.X.P.
0030: 52 00 45 00 53 00 53 00 R.E.S.S.
0038: 00 00 07 00 00 00 6D 00 ......m.
0040: 61 00 73 00 74 00 65 00 a.s.t.e.
0048: 72 00 00 00 r...

请注意最后一部分是如何用 UTF-16 编码“master”这个词的。这让我发现连接是与目录而不是请求的目录建立的,这反过来又导致注意到连接字符串中目录名称的拼写错误。

如果 Microsoft 只显示“没有这样的目录:MyCatalog”之类的错误,那就更好了。

关于sql-server - SQL Server : Cannot open database requested by the login,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11622604/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com