无法打开登录请求的数据库 MyDB。登录失败。用户“myUser”的登录失败

Posted

技术标签:

【中文标题】无法打开登录请求的数据库 MyDB。登录失败。用户“myUser”的登录失败【英文标题】:Cannot open Database MyDB requested by the login.The login failed.Login failed for user "myUser" 【发布时间】:2012-04-16 09:13:17 【问题描述】:

我遇到了 SQL Server Express 数据库连接问题。

我有 WPF 应用程序,它使用 LINQ-to-SQL 连接到我的数据库。

当我在调试模式 F5 下运行应用程序时,应用程序工作正常,但是当我运行它时 CTRL+F5 我得到连接到 SQL 错误

无法打开登录请求的数据库 MyDB。登录失败。用户“myUser”登录失败

我已经在 Google 上查看并尝试了所有建议的解决方案,但没有任何帮助...:(

谁能帮帮我? 谢谢....

【问题讨论】:

由于项目属性中设置的命令行参数,您是否正在为您的应用程序提供连接设置? @juergend 你的意思是连接字符串? 是连接字符串或连接字符串的一部分。检查您的项目设置:调试和发布设置可以进行不同的配置。 @juergend 我切换到发布模式,我的设置和调试模式下的一样(或者有什么我不明白的......),如果我按F5运行它仍然工作正常,但 Ctrl+F5 不起作用... @juergend 这是我发现的一件有趣的事情——当我将连接字符串写成字符串 ("MyConnString") 并且没有从 app.config 中获取它时——它起作用了.... 【参考方案1】:

这可能是由于不同运行模式的不同变量初始化行为造成的。

在“开始调试”模式下,未初始化的变量设置为默认值。但是在“Start without debugging”中,变量是随机的。

例如,您有:

int iHowMany;

在“开始调试”模式下,iHowMany 被初始化为0。但是在“不调试启动”模式下,iHowMany 的值是随机的。

很容易找到所有未初始化的变量。 VC 编译器会为使用未初始化的变量生成警告。只需浏览编译器警告列表,找到它们并初始化它们。

(Source)

您还应该检查该问题:

difference between debugging modes

【讨论】:

我删除了我的 app.config 文件,将“活动解决方案配置”切换到“发布”模式,添加了一个新的 app.config 文件,我的应用程序开始工作.....

以上是关于无法打开登录请求的数据库 MyDB。登录失败。用户“myUser”的登录失败的主要内容,如果未能解决你的问题,请参考以下文章

实体框架无法打开登录请求的数据库 - 用户登录失败

无法打开登录请求的数据库“”。登录失败。用户“sa”登录失败

无法打开登录请求的数据库“ASPNETDB”。登录失败。用户 'Philip-Desktop\Philip' 登录失败

用户 '' 登录失败,无法打开登录请求的数据库“Database1.mdf”。登录失败。用户 'rBcollo-PC\rBcollo' 登录失败

新建sql注册提示无法打开用户默认数据库 登录失败,怎么解决

无法打开登录所请求的数据库 "xxxx"。登录失败。 用户 'NT AUTHORITYSYSTEM' 登录失败。