2

Windowsサービスを作成しています。このサービスは、AdvantageDatabaseから1日1回データを読み取る必要があります。

アドバンテージデータベースをコンピューターにコピーしましたが、正常に動作しますが、サーバーでサービスを試してみると、次のエラーが発生します。

「AdsException:エラー6082:Advantageローカルサーバーライブラリの読み込み中にエラーが発生しました。」

ドキュメント(リンク)によると、ADSLOC32.DLLを\ WINDOWS\SYSTEMディレクトリに配置する必要があります。

私はそれを試しましたが、うまくいきません。

何か案は?

編集:Windowsサービスとまったく同じコードを実行するコンソールアプリケーションを作成しましたが、正常に動作します。問題は私のサービスにあるようですが、私のサービスのどの部分が間違っているのかわかりません...

編集2:プロセスモニターで確認しましたが、サービスはadsloc32.dllを読み込もうとせず、adsloc64.dllを読み込もうとします。adsloc64.dllファイルが見つからなかったため、adsloc32.dllのコピーをアプリケーションディレクトリに作成し、adsloc64.dllという名前を付けましたが、機能しませんでした。

4

2 に答える 2

3

私は解決策を見つけました。

WindowsSysinternalsのProcessMonitorを使用して、プログラムがdllファイルをどこからロードしようとしているのかを確認しました。そしてそれはadsloc32.dllをロードしようとしていませんでした、それはadsloc64.dllをロードしていました。

adsloc64.dllファイルをアプリケーションディレクトリに置くだけで、動作するようになりました。

于 2013-03-12T14:29:32.380 に答える
2

adsloc32.dllをアプリケーションと同じディレクトリに配置してみてください。多分権利にいくつかの問題があります

于 2013-03-11T13:10:08.733 に答える