优势错误 6082

Posted

技术标签:

【中文标题】优势错误 6082【英文标题】:Advantage Error 6082 【发布时间】:2013-03-11 09:20:53 【问题描述】:

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

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

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

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

我尝试过,但它不起作用。

有什么想法吗?

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

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

【问题讨论】:

对于 32 位 DLL,您应该始终使用 System32(32 位系统)或 SysWOW64(在 64 位系统上)而不是 System(旧的 16 位 Windows 目录)。该文档在这方面是不正确的。 msdn.microsoft.com/en-us/library/7d83bc18(v=vs.80).aspx 好吧,Windows 仍然搜索 16 位目录,但只是为了向后兼容。见此链接:msdn.microsoft.com/en-us/library/windows/desktop/… System32 和 SysWow64 中已经有一个 adsloc32.dll 文件。我尝试将该文件放入我的应用程序目录,但它仍然不起作用。 【参考方案1】:

我找到了解决办法。

我使用来自Windows Sysinternals 的进程监视器来了解程序尝试从何处加载 dll 文件。 而且它不是在尝试加载 adsloc32.dll,而是在加载 adsloc64.dll。

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于优势错误 6082的主要内容,如果未能解决你的问题,请参考以下文章

优势数据库错误 5175

优势表文件正在使用错误。我该如何解决?

转:优秀的管理者,关注的不是错误,而是优势

转:优秀的管理者,关注的不是错误,而是优势

SQL 2008 链接服务器访问被拒绝错误的优势

论TypeScript中的错误处理表示与领域驱动设计的优势