在 Windows Service 中打开 MDB 文件



当我在VS上调试时,我可以在我的应用程序(MS Access(中访问*mdb数据库而不会遇到任何问题。在我们的旧数据交换应用程序中,作为Windows应用程序运行也可以正常工作。现在,我们将应用程序转换为Windows服务。在VS调试器中,一切也都很好。但是,当作为服务安装时,无法访问.mdb数据库。 (技术:OLEDB 连接,以 vb.net 和 C# 编码(

我总是收到错误消息,因为"文件不存在": ">V:\DES_TCP\SW\TestMDB\DES_PdvData.mdb' 不是有效的路径。 确保路径名拼写正确,并且已连接到文件所在的服务器。这是错误的,在资源管理器中复制路径可以打开文件。

也已经尝试使用本地.mdb文件或在另一个管理员帐户下作为系统运行服务。什么都没有改变,无法访问。

我确实记得在 15 年之前,我们在 IFix 的背景下就遇到了麻烦......制造商在这段时间提出的解决方案只是启动IFix服务器驱动程序而不是作为服务...

似乎仅限于从服务访问 mdb 文件。

有人知道这样的限制吗?以及如何绕过它?

默认情况下,服务在受限帐户下运行。

您需要在服务控制面板中将"运行方式"帐户设置为同时具有"运行即服务"权限和对尝试访问的目录的权限的帐户。

编辑:

它还需要有权访问包含访问数据库驱动程序 DLL 的目录,默认情况下,IIRC 不会。

喷气发动机仅适用于 32 位。尝试将Windows服务编译为x86!

最新更新