Windows Service, VPN, MSAccess

本文关键字:MSAccess VPN Windows Service | 更新日期: 2023-09-27 17:58:07

我用C#编写了Windows服务,从Excel和Access表中获取数据。一切都很好,直到我尝试通过VPN连接从远程数据库获取数据:

ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver] The Microsoft Access database 
engine cannot open or write to the file '(unknown)'. It is already opened exclusively 
by another user, or you need permission to view and write its data.

驱动程序是ODBC。

Windows Service, VPN, MSAccess

答案在错误消息中。这不是很有帮助,但完全准确。

您的服务可能是以用户身份运行的,该用户对文件没有所需的权限,或者ODBC连接提供的凭据是错误的或丢失的。

您可以通过在Visual Studio中打开项目并选择调试->附加到进程并选择服务来调试服务。然后,您可以逐步了解失败的原因以及发生故障时使用的登录凭据。

请注意,Windows服务的默认凭据对其他计算机上的任何内容都没有权限,因此这将是一个很好的起点。

如果你可以从MS Access通过VPN打开它,但不能打开你的服务,这会使它缩小很多。