2012-05-04 14 views
2

私はC#(.net framework 4)でコーディングされたアプリケーションで作業し、データベースにアクセスしていくつかのテーブルを読み書きします。Windowsタスクスケジューラで実行したときにsql server dbにアクセスしないC#アプリ

私は開発マシン上でアプリケーションを実行すると、正常に実行されます(テーブルはよく書かれています)。 タスクスケジューラの外にあるWindows Server 2003上でアプリケーションを実行すると、正常に実行されます(テーブルはうまく書かれています)。 私はWindowsのタスクスケジューラからアプリを実行すると、(テーブルがまったく書き込まれていない)OKを実行しません。

タスクスケジューラでタスクを起動するために、多くのアカウントとイベントを管理者が試しましたが、どのアカウントも機能しません。

Windowsのタスクスケジューラの有無にかかわらず、アプリケーションの古いバージョンが開発マシンで正常に実行されることを記述する必要があります(表はよく書かれています)。

私が推薦する

おかげ

+2

データベース接続文字列を構成するコードを確認する必要があると考えてください。 –

+0

スケジューラでタスクをどのように設定しましたか? – blueberryfields

+0

コードはデータベースへの接続のための基本的なコードです:SqlConnection conn = new SqlConnection( "...");このタスクは、タスクスケジューラのアカウントでスケジュールされます(アカウントは機能しません)。奇妙なのは、古いバージョンのアプリケーションがタスクスケジューラの下で正しく動作するが、新しいバージョンは正しく動作しないということだ。接続の周りに追加されたコードは追加されず、削除または変更されませんでした。私はこれがタスクスケジューラの問題かもしれないと思うが、何もイベントログに記録されていないと思う... –

答えて

0

唯一のものは、行を追加することです:実際の接続が開かれ、アプリケーションをデバッグする必要があります

Debugger.Break(); 
Debugger.Launch(); 

右。 この情報量には、アドバイスはありません。

+0

こんにちは、 "Debugger.Break()..."のヒントをありがとうが、私はアプリケーションをデバッグすることができます:1)Windowsタスクスケジューラの下でリモートWindowsサーバー2003で実行されている? 2)VS.NET 2010プレミアムを持つ別のコンピュータで作業しますか?感謝 –

+0

リモートデバッガを使用してください。これはマネージコードで動作します。ここで設定する手順は次のとおりです。http://msdn.microsoft.com/en-us/library/bt727f1t.aspx – amdmax

関連する問題