Use*_*384 33 c# entity-framework
下面是我的连接字符串:
的connectionString ="元数据= RES://*/EDMX.Test.csdl | RES://*/EDMX.Test.ssdl | RES://*/EDMX.Test.msl;提供商= System.Data.SqlClient的;提供者connection string ="Data Source = home_computer; Initial Catalog = db_Test; Persist Security Info = True; User ID = testUser; Password = $ 1234; MultipleActiveResultSets = True""
这是程序卡住的代码:
EDMX.TestingEntity context = new EDMX.TestingEntity();
var query = from t in context.User
where t.UserName == _userName
select t;
Run Code Online (Sandbox Code Playgroud)
运行上面的代码后,我检查变量查询并发现异常
底层提供程序在Open上失败.
我检查过:
为什么会发生这种异常?我正在使用.net 4.5
添加:
我再次尝试,查看内部异常,它是:建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
我知道这可能是一个网络问题,但我关闭了服务器和我的电脑的防火墙,并再次尝试,但仍然没有成功..
刚刚将连接字符串复制到一个程序来测试这个连接,它运行良好..
我只是回滚所有更改并再次测试并且它有效
Ram*_*man 47
似乎是一个连接问题.您可以使用数据链接属性来查找连接是否正常.请执行下列操作:
现在在记事本中打开文件并比较连接字符串属性.
我们有连接字符串中web.config使用Data Source=localhost,并且有这个错误(MSSQL是在同一台机器上).将它改为实际的`DOMAIN\MACHINE'有帮助,不管怎么说.
如果有,请始终检查内部异常。就我而言,内部异常对解决问题非常有帮助。
我的网站在开发环境中运行良好。但是在我部署到生产环境后,它开始发出这个异常,但内部异常表示特定用户的登录失败。
所以我发现这与连接本身有关。因此尝试使用 SSMS 登录,甚至失败了。
最终发现出现异常的原因很简单,即 SQL 服务器仅启用了 Windows 身份验证,而 SQL 身份验证失败,这正是我用于身份验证的原因。
简而言之,将身份验证更改为混合(SQL 和 Windows),为我解决了这个问题。:)
| 归档时间: |
|
| 查看次数: |
241959 次 |
| 最近记录: |