2010-12-03 15 views
0

ネットワークドライブ上にExcelファイルを開き、データを読み込んでデータベースに書き込むC#アプリケーションがあります。バッチファイルから手動で実行できますが、Windows SchedulerまたはActiveBatchからバッチファイルを実行すると機能しません。実際にはエラーは発生しません。Excelのワークブックを開こうとすると(アプリケーションを開くときではなく)、ジョブがハングアップします。ExcelのC#コンソールアプリケーションWindowsスケジューラ/ ActiveBatchでスケジュールされたタスクとしてハングする

私は手動でスケジューラから実行したときと同じスケジューラから同じユーザー資格情報で実行しています。 Windows Server 2003 Enterprise SP2で.NET 3.5をOffice 2007で使用しています。

「Ogawa Hack」をhereと記述してみましたが、間接レベルを使って別のバッチファイルを作成しようとしました。スケジューラによって実行され、元のファイルを呼び出します。どちらもうまくいかなかった。

私が試すことができる他のアイデアは?

+0

をメイン()メソッドの[STAThread]属性を追加してみてください。 –

+0

Ogawa Hackへのリンクはここにあります。上記のリンク先はありません。http://stackoverflow.com/questions/1177974/word-interop-not-working-in-a-scheduled-task –

+0

あなたは/それをデータベースエンジンの仕事にしようとしましたか? –

答えて

0

あなたのアプリケーションはおそらくサーバー上で動作するため、このタスクにはExcel Interopを使用しないことをお勧めします。 Excelをインストールする必要はない無料の.NETライブラリがあります。古いエクセル< = 2003形式の場合はこちらをご覧

http://jexcelapi.sourceforge.net/

(ファイル内のセクションあなたはこのJavaのlibの.NETポートがあります)。新しいXMLベースのフォーマットでは、このいずれかを使用できます。

http://excelpackage.codeplex.com/

関連する問題