月に一度、SQL Server から MySQL にデータを転送する必要があります。私はすでにこの転送を行っていますが、毎月特定の日にこの転送を実行するタイマーを設定する方法がわかりません (そしてインターネット上で知りませんでした)。日数は月によって異なるため、タイマー間隔をミリ秒単位で設定したくありません。
どんな助けでも大歓迎です...
月に一度、SQL Server から MySQL にデータを転送する必要があります。私はすでにこの転送を行っていますが、毎月特定の日にこの転送を実行するタイマーを設定する方法がわかりません (そしてインターネット上で知りませんでした)。日数は月によって異なるため、タイマー間隔をミリ秒単位で設定したくありません。
どんな助けでも大歓迎です...
これは、タイマーを介してプロセスを 1 か月間実行するのではなく、スケジュールされたタスクまたは SQL サーバー ジョブとして設定する必要があるように思えますか?
リンク:
タスクをWindowsサービスとしてセットアップし、データベースの設定を介して最後に更新を行った時間を確認することもできると思いますが、それはやり過ぎのようです. その音から、ジョブを実行する C# アプリのセットアップが既にあるので、スケジュールされた Windows タスクを作成するだけです。
この種の作業には、Windows タスク スケジューラを使用できます。コマンドラインオプションについては、こちらをご覧くださいSchtasks
(たくさんあります)
例 1:
毎月 1 日に実行するタスクをスケジュールするには
次のコマンドは、MyApp プログラムを毎月 1 日に実行するようにスケジュールします。/mo (修飾子) パラメーターと /d (日) パラメーターの両方の既定値は 1 であるため、これらのパラメーターはコマンドから省略されます。
schtasks /create /tn "My App" /tr myapp.exe /sc monthly
例 2:
15 日目のタスクをスケジュールするには
次のコマンドは、毎月 15 日の午後 3 時 (15:00) に MyApp プログラムを実行するようにスケジュールします。/d パラメータを使用して日付を指定します。また、/st パラメータを使用して開始時刻を指定します。
schtasks /create /tn "My App" /tr myapp.exe /sc monthly /d 15 /st 15:00