2

私は.NET 4コンソールアプリケーションを持っています.NET 4コンソールアプリケーションは、実行時にSAPへのR3Connectionを使用してERPConnectを使用してデータ要求を行い、変換されたデータを同じSQL Serverデータベースにロードする前にSQL Serverデータベースからいくつかのマッピングデータをフェッチします。

これを毎日のスケジュールで実行するように依頼されました。

これをどのように行うべきかについての推奨事項はありますか?

私の最初の考えは次のとおりです。.bat ファイルと Windows タスク スケジューラまたは Windows Powershell

どちらかを選択する理由や提案はありますか?

4

4 に答える 4

2

Windows タスク スケジューラとバッチ ファイルを使用して実行することをお勧めします。ただし、実際にバッチ ファイルが必要なのかという質問があります。WTS から呼び出されるアプリがたくさんあり、アプリケーションを直接呼び出すことができます。バッチ ファイルが不要になるように、コンソール アプリを変更することをお勧めします。

于 2013-05-15T22:09:32.117 に答える
0

あなたがしていることと同じくらい単純な場合、Windowsタスクスケジューラはうまく機能します。特にSAPのようなERPシステムを扱って以来、私たちが行ったことは、テーブルにヒットするWindowsサービスを作成し、そのテーブル内に、間隔と次の実行dateTimeに基づいて開始したいアセンブリとクラス名のリストです. リフレクションを使用して、現在の日時と比較した次の実行日時に基づいて、実行する必要があるアセンブリ内のクラスを呼び出します。また、各クラスは nameValueCollection を受け入れるため、各クラスの XML 列を作成して、その場で構成設定を各クラスに渡すことができます。私がしなければならないのは、サービスを停止または再起動することなく、その列を更新することと、次回の実行時に新しい設定が行われることです。コンソール アプリを実行するたびに構成ファイルを取得し、基本的に同じことを行うことができます (Windows のスケジュールされたタスク マネージャーを使用する場合は、これを行うことを強くお勧めします)。これにより、PRD がダウンし、アプリを QAS または開発システムにすばやくポイントするか、ユーザー名とパスワードを維持する必要がある場合に便利です (そうする場合は暗号化します)。また、その特定のタスクをある程度制御するビジネス アナリストが必要な場合は、データ ドリブン バックエンドを使用することで、フロント エンドを構築できます。大変な作業のように聞こえるかもしれませんが、実際にはそうではありません。またはユーザー名とパスワードを維持するために(あなたがそうするなら私は暗号化します)。また、その特定のタスクをある程度制御するビジネス アナリストが必要な場合は、データ ドリブン バックエンドを使用することで、フロント エンドを構築できます。大変な作業のように聞こえるかもしれませんが、実際にはそうではありません。またはユーザー名とパスワードを維持するために(あなたがそうするなら私は暗号化します)。また、その特定のタスクをある程度制御するビジネス アナリストが必要な場合は、データ ドリブン バックエンドを使用することで、フロント エンドを構築できます。大変な作業のように聞こえるかもしれませんが、実際にはそうではありません。

また、メモ: XP でこれを設定していない可能性が高いと確信していますが、覚えていれば、WTS 暗号化サービスを何度も見たことがあることを覚えておいてください (暗号化サービスが 100% 正しいかどうかはわかりませんが、それらの線に沿ったものです。)破損し、スケジュールされたタスクが失敗し、混乱する可能性があります。SAP がファイルを取得するためにマシン上で RFC を実行していて、それらが実行されていることを確認するスケジュールされたタスクがありました。

于 2013-05-15T22:45:47.670 に答える