2017-08-11 39 views
0

嗨,我已经写了一个Windows服务在C#为了连接到数据库每10分钟与entityframework它在调试模式下工作正常,但是当我释放并安装它本地系统帐户引发异常:在C#中的窗口服务 - 底层提供商在开放失败

底层提供程序在打开时失败。 无法打开登录请求的数据库“HCClient”。登录失败。 用户'NT AUTHORITY \ SYSTEM'登录失败。

我的ConnectionString:

添加名称= “MyDataBaseName” 的connectionString =“元数据= RES:// /Model.LocalModel.csdl|res:// /Model.LocalModel.ssdl | res://*/Model.LocalModel.msl; provider = System.Data.SqlClient; provider connection string = " data source = .; initial catalog = HCClient; integrated security = True; MultipleActiveResultSets = True; App = EntityFramework "“providerName =“System.Data.EntityClient”

当我想启动服务本地服务或网络服务时,它返回我错误5:访问被拒绝,虽然我已将这些权限之一给我的可执行服务exe文件 我已阅读与我的错误相关的所有主题,但没有他们的工作

任何帮助,将不胜感激

+0

如何创建SQL登录和使用该连接字符串中? –

+0

您必须将集成安全性设置为true才能尝试使用运行服务的帐户标识的连接字符串。在连接字符串中可以访问数据库的同一帐户下运行服务或使用SQL身份验证。 – vendettamit

回答

1

你的服务正在运行的System用户这不(也不应该)必须登录到数据库的权限。

创建一个SQL登录名并将其凭据添加到连接字符串或以有权登录到数据库的用户身份运行服务。

在服务属性 - >登录选项卡,更改帐户: enter image description here

+0

它的工作,非常感谢 –

相关问题