Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
同期のスケジュールを指定します。
sch=schedule; ...
Schedule=schedule; ...
schedule : { EVERY:hhhh:mm | INFINITE | singleSchedule }
hhhh : 00 ... 9999
mm : 00 ... 59
singleSchedule : day @hh:mm[ AM | PM ] [ -hh:mm[ AM | PM ] ] ,...
hh : 00 ... 24
day : EVERYDAY | WEEKDAY | MON | TUE | WED | THU | FRI | SAT | SUN | dayOfMonth
dayOfMonth : 0... 31
EVERY EVERY キーワードを指定すると、同期は起動時に発生し、その後は指定した期間の経過後に無限に繰り返されます。指定した期間より同期処理に時間がかかる場合、同期はすぐに再開されます。
dbmlsync の起動時に同期が発生するのを防ぐには、拡張オプション NoSyncOnStartup を使用します。
singleSchedule 1 つ以上の単一スケジュールを指定すると、同期は指定した日時にのみ発生します。
間隔は @hh:mm-hh:mm (AM または PM はオプション指定) のように指定します。AM または PM を指定しない場合は、24 時間制とみなされます。24:00 は翌日の午前 00:00 とみなされます。間隔を指定すると、同期は間隔中の任意の時点から始まります。間隔を指定すると同期を行う時間帯に幅ができるため、同じスケジュールを持つ複数のリモートデータベースが、まったく同じ時刻に同期を行うことがなく、Mobile Link サーバー側では輻輳が生じなくなります。
間隔の終了時刻は常に開始時刻より後の時刻として解釈されます。間隔に真夜中が含まれている場合は、翌日に終了します。dbmlsync が間隔の途中で始まる場合、同期は終了時刻より前の任意の時点で発生します。
EVERYDAY EVERYDAY とは週の 7 日間すべてのことです。
WEEKDAY WEEKDAY とは月曜日から金曜日までのことです。Monday のような完全形も使用できます。使用言語が英語でない場合、クライアントによって接続文字列で要求された言語でない場合、サーバーメッセージウィンドウに表示される言語でない場合は、完全形を使用します。
dayOfMonth 月の長さに関係なく、月の最終日を指定するには、dayOfMonth を 0 に設定します。
INFINITE INFINITE キーワードを指定すると、dbmlsync の同期は起動時に発生します。その後同期が発生するのは、ウィンドウメッセージを dbmlsync に送信する別のプログラムから同期が開始されたときだけです。dbmlsync 拡張オプション NoSyncOnStartup を使用すると、初期同期を防ぐことができます。
このオプションを dbmlsync -wc オプションと組み合わせて使用すると、dbmlsync をウェイクアップし、同期を行うことができます。
直前の同期がスケジュール時刻にまだ完了していない場合は、その同期が完了した時点で、スケジュールされた同期が開始されます。
デフォルトは、スケジュール設定なしです。
Dbmlsync API が使用されている場合、または SQL SYNCHRONIZE 文が使用されている場合、Schedule オプションは無視されます。
IgnoreScheduling 拡張オプションと dbmlsync -is オプションは、dbmlsync がスケジュールを無視して即時の同期を行えるようにします。
次の dbmlsync コマンドラインは、dbmlsync を使用するときのこのオプションの設定方法を示します。
dbmlsync -e "sch=WEEKDAY@8:00am,SUN@9:00pm"
次の SQL 文は、このオプションのデータベースへの格納方法を示します。
CREATE SYNCHRONIZATION SUBSCRIPTION TO sales_publication FOR ml_user1 OPTION sch='WEEKDAY@8:00am,SUN@9:00pm';