无法打开登录请求的数据库 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' 登录失败