[英]System.Data.SqlClient.SqlException: Login failed for user 'user'
[英]Error: the underlying provider failed on open. system.data.sqlclient.sqlexception login failed for user
在客户端计算机上部署我的C#win应用程序后,发生以下错误:
基础提供程序在open.system.data.sqlclient.sqlexception上失败
用户登录失败。 无法打开登录名请求的数据库“ EmdadKhordo”
这是我的连接字符串:
metadata=res://*/Models.EmdadKhodroDB.csdl|res://*/Models.EmdadKhodroDB.ssdl|res://*/Models.EmdadKhodroDB.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=EmdadKhodroDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"
我使用实体框架访问SQL Server数据库。
根据无法访问数据库错误消息,SQL实例身份验证成功,但是指定的数据库无法访问。 这可能是因为EmdadKhodroDB数据库不存在,不在线或在当前安全上下文下(很可能)不可访问。 确保您使用的帐户具有数据库访问权限和所需的对象权限。
下面的DCL将用户添加到数据库中。 您还需要直接向用户或用户所属角色授予对象级别权限。
USE EmdadKhodroDB;
CREATE USER [YourDomain\YourAccount];
您也可以使用SQL Management Studio管理Windows用户权限。 只需按照此处的说明创建新的登录名,并配置到您需要访问的每个数据库的映射即可。
基本上,您需要确保正确定义了您的登录名(“安全性”->“登录名”),并且对EmdadKhordo数据库具有适当的权限(读,写等)。 建议允许最低的必需权限(例如,如果用户仅执行SELECT,INSERT,UPDATE,DELETE语句,则不允许更改表)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.