繁体   English   中英

错误:基础提供程序在打开时失败。 用户的system.data.sqlclient.sqlexception登录失败

[英]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.

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