繁体   English   中英

使用本地帐户登录时无法连接到SQL Server Express 2014

[英]Unable to connect to SQL Server Express 2014 when signed in with local account

已安装SQL Server Express 2014,并且可以连接/查询SSMS。 我正在使用Visual Studio 2015(C#)和EF 6以编程方式连接到服务器。 在以下所有情况下,我将使用相同的连接字符串+在连接字符串中使用具有正确密码的“ sa”帐户。

当我使用Windows域帐户(例如:domain \\ username)登录计算机后,运行代码即可正常工作。

当我使用本地帐户(例如:computername \\ username)帐户登录计算机,然后运行代码时,它失败并显示以下错误: 基础提供程序在Open上失败 请注意,我可以启动和使用没有问题的SSMS。

这是我的连接字符串。

metadata=res://*/[efName].csdl|res://*/[efName].ssdl|res://*/[efName].msl;provider=System.Data.SqlClient;provider connection string=\'Data Source=.\SQLExpress;Initial Catalog=db-name;Integrated Security=True;User ID=sa;Password=[psw];MultipleActiveResultSets=True;Application Name=EntityFramework;User Instance=False\'

我尝试过启用或禁用集成安全性(结果相同)。 将数据源尝试为“。\\ SQLExpress”或“ [machineName] \\ SQLExpress”(相同的结果)。

深入研究后,我在Windows事件查看器中找到了以下条目。

  • 级别:信息
  • 资料来源:MSQL $ SQLEXPRESS
  • 任务类别:登录
  • 消息:用户“计算机名\\用户名”的登录失败。 原因:无法打开明确指定的数据库“ db-name”。 [客户:]

在我看来,SQL Server Windows服务在允许连接到SQL Server之前正在使用某种网络身份验证。

EF / SQL返回的错误消息根本没有帮助,这也就不足为奇了。 它与基础提供程序无关...

经过一番尝试/错误后,我将其缩减为该数量。 在连接字符串中提供特定的userName / Password凭据时,需要设置IntegratedSecurity = false 而已。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM