2

我正在创建一个 Windows 服务。该服务必须每天从 Advantage 数据库中读取一次数据。

我在我的计算机上复制了 Advantage 数据库,它工作正常,但是当我在服务器上尝试该服务时,出现以下错误:

“AdsException:错误 6082:加载 Advantage 本地服务器库时出错。”

根据文档(链接),我必须将 ADSLOC32.DLL 放在 \WINDOWS\SYSTEM 目录中。

我尝试这样做,但它不起作用。

有任何想法吗?

编辑:我创建了一个控制台应用程序,它执行与我的 Windows 服务完全相同的代码,并且它完全按照它应该的方式工作。似乎问题出在我的服务上,但我不知道我的服务的哪一部分出了问题......

编辑2:我检查了进程监视器,我的服务没有尝试加载adsloc32.dll,它尝试加载adsloc64.dll。我没有找到 adsloc64.dll 文件,所以我将 adsloc32.dll 复制到我的应用程序目录并将其命名为 adsloc64.dll 但它不起作用。

4

2 回答 2

3

我找到了解决方案。

我使用Windows Sysinternals的 Process Monitor来了解程序尝试从何处加载 dll 文件。它不是在尝试加载 adsloc32.dll,而是在加载 adsloc64.dll。

我只是将 adsloc64.dll 文件放到我的应用程序目录中,它现在可以工作了。

于 2013-03-12T14:29:32.380 回答
2

尝试将 adsloc32.dll 放在与您的应用程序相同的目录中。可能权利有问题

于 2013-03-11T13:10:08.733 回答