2

トランザクション キューから XML データを読み取るアプリケーションを Delphi 2010 で開発しました。キューがローカルまたはリモートの場合は正常に機能し、どちらの場合もアクセス許可を設定する必要はありません。

次に、そのアプリケーションを Windows サービスに変換する必要があります。同じアプリケーションをコピーしてサービス コードに貼り付けましたが、キューを読み取ろうとすると、「アクセスが拒否されました」というエラーが表示されます。私はローカルマシンでテストを行っています。

許可の問題だと言う人もいます。私はスタックオーバーフローで同じ問題へのいくつかの投稿を見つけましたが、解決策が見つかりませんでした.

何か案は?私もWindows7を使っています。

4

1 に答える 1

1

アプリケーションをローカルで実行している場合は、Windows ログオン資格情報で実行しています。デフォルトでは、サービスは別のユーザー アカウントで起動されます。このユーザー アカウントは、アカウントと同じ権限を持っていない可能性があります。

サービス マネージャー (start->services.msc) を起動し、リストでサービスを見つけて右クリックし、[プロパティ] を選択します。次に、[ログオン] タブを選択し、特定のアカウント名/パスワードに変更します。(アカウント名/パスワードを使用してください。)その後、同じ資格情報を使用してコードを実行するため、アクセス拒否エラーは解消されます。

于 2012-11-17T04:40:01.620 に答える