手動で完全に正常に実行されるコンソール アプリがありますが、SQL Server エージェントによって実行されると、まったく実行に失敗し、次のような奇妙なエラー メッセージが表示されます:-
Executed as user: I01SVTD21\SYSTEM.
Unhandled Exception: System.IO.IOException: The handle is invalid.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Console.GetBufferInfo(Boolean throwOnNoConsole, Boolean& succeeded)
at System.Console.Clear()
at ActiveDirectoryImport.Program.SendReports()
at ActiveDirectoryImport.Program.GetUserInfo()
at ActiveDirectoryImport.Program.Main(String[] args).
Process Exit Code 255. The step failed.
ActiveDirectoryImport.Program.SendReports() が ActiveDirectoryImport.Program.GetUserInfo() によって呼び出される最後のメソッドであり、ほとんどのコードが実行されたように見えるまで、これは最初は奇妙なエラー メッセージのようには見えないかもしれません。ただし、コードが最初に行うことの 1 つはデータベース テーブル内のレコードの更新であるため、これは当てはまりません。
だから私は2つの質問が残っています。同じ場所から手動で正常に実行されているのに、ジョブがまったく失敗するのはなぜですか? そして、明らかにそこまで進んでいないのに、コードの後半で失敗していると私に言っているのはなぜですか?
コンソール アプリはコンソール画面に書き込みますが、ユーザー入力は受け取りません。基本的にアプリケーションのステータスを画面に書き込みますが、これは一見エラーです....
どんな助けでも大歓迎です。