无法在windows服务中打开数据库
本文关键字:数据库 服务 windows | 更新日期: 2023-09-27 18:17:17
我正在尝试连接我的窗口服务到我的本地数据库。在我的OnStart()方法在Service.cs类,我得到这个错误…
The underlying provider failed on Open.System.Data.SqlClient.SqlException
(0x80131904): Cannot open database "EduFameProjectDB18" requested by the login.
The login failed.
Login failed for user 'NT AUTHORITY'SYSTEM'.
您正在尝试使用SYSTEM帐户来访问数据库。这是由于您在SQL Server中使用集成身份验证,并在SYSTEM帐户下运行Windows服务。
为了解决这个问题,你必须在你的windows服务上提供一个不同的凭据,以便它能正确打开连接。请确保在数据库的SQL Server登录中存在相同的windows用户,并且该用户有足够的权限访问您的表。
作为另一种选择,您可以使用sql身份验证,通过创建sql登录并在连接字符串中提供凭据。
- 连接Sql Server Management Studio.
- 现在点击安全-> NT AUTHORITY'SYSTEM右键单击->属性
- 点击->服务器角色
- 检查公共,sysadmin
- 单击Ok