[英]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事件查看器中找到了以下条目。
在我看来,SQL Server Windows服务在允许连接到SQL Server之前正在使用某种网络身份验证。
EF / SQL返回的错误消息根本没有帮助,这也就不足为奇了。 它与基础提供程序无关...
经过一番尝试/错误后,我将其缩减为该数量。 在连接字符串中提供特定的userName / Password凭据时,需要设置IntegratedSecurity = false 。 而已。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.