2009-08-05 4 views
0

SQL 2005に接続しようとしているWindows 2008マシンにvb.net Windowsサービスをインストールしました。サービスは正常に起動しますが、データベース。イベントログには次のエントリがあります。SQLに接続するときのvb.net windowsサービスのエラー

ソースSU4.ESMR.DAL.Job.FillPriorityJobByType(oJobDS、TypeID:3が見つかりません)からイベントID 0の説明このイベントを発生させるコンポーネントがローカルコンピュータにインストールされていないか、インストールが壊れています。あなたは、ローカルコンピュータ上のコンポーネントをインストールまたは修復することができます。

これは、すべての環境が32ビットですXPと2008の両方の上でローカルにテストした。

答えて

0

あり、ここで上に行くために多くはないが、それが聞こえますサービスアカウントに必要なデータベースへのアクセス権がないように私に伝えてください。

ネットワークサービスまたはローカルでサービスを実行するように設定し、データベースにアクセスできるサーバー上にアカウントを作成し、そのサービスを使用するように変更します。

0

これはセキュリティの問題のようです。私はサービスがSQLに接続するために使用しているアカウントのアクセス許可をチェックします。

0

このイベントに関連付けられている未処理の管理例外が存在する可能性があります。その例外に関する詳細がイベントログに表示されない場合は、未処理の例外をインターセプトし、必要に応じてログに記録する最後のフィルタを作成できます。最初にあなたのサービスのスタートアップコードの早期この行を追加し、これを行うには

AddHandler Application.ThreadException, AddressOf LogException 

次に、ロギング・プロシージャを作成します。

Private Sub LogException(ByVal sender As Object, _ 
         ByVal e As System.Threading.ThreadExceptionEventArgs) 
    'This method will be called by any unhandled managed exception, assuming 
    'that a debugger isn’t attached. You should log the exception here. 
End Sub 
0

ローカルの下のデフォルトの実行により、Windowsのサービスシステムアカウントでは、サービスMMCスナップインでサービスの[ログオン]タブを確認すると、これを見ることができます。このアカウントにはデータベースのアクセス許可がない可能性があります。

サービスを別のアカウントで実行してもかまいません(問題が解決したかどうかを確認するためにサービスを実行してみてください)が、ローカルシステムアカウントのアクセス許可を変更して付与する必要がありますアクセス。

関連する問題