【发布时间】:2018-01-20 05:51:04
【问题描述】:
大家好,我用 c# 编写了一个 Windows 服务,以便每 10 分钟使用 entityframework 连接到数据库,它在调试模式下工作正常,但是当我在本地系统帐户上发布并安装它时,它会引发异常:
基础提供程序在打开时失败。 无法打开登录请求的数据库“HCClient”。登录失败。 用户“NT AUTHORITY\SYSTEM”登录失败。
我的连接字符串:
添加 name="MyDataBaseName" connectionString="metadata=res:///Model.LocalModel.csdl|res:///Model.LocalModel.ssdl|res://*/Model .LocalModel.msl;provider=System.Data.SqlClient;provider 连接字符串="数据源=.;初始目录=HCClient;集成安全=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient "
当我想在本地服务或网络服务上启动服务时,它返回错误 5:访问被拒绝,尽管我已将这些权限之一授予我的可执行服务 exe 我已阅读与我的错误相关的所有主题,但它们都不起作用
任何帮助将不胜感激
【问题讨论】:
-
如何创建一个 sql 登录并在连接字符串中使用它?
-
您必须在尝试使用运行服务的帐户标识的连接字符串中将集成安全设置为 true。要么在有权访问数据库的同一帐户下运行服务,要么在连接字符串中使用 SQL 身份验证。
标签: c# .net windows-services