climbTweet前回はグローバルスクリプトの基本的な記述の仕方をご紹介しました。今回はそのグローバルスクリプトで使用できる関数とイベントをご紹介します。関数グローバルスクリプトで使用するグローバル関数を解説します。これらの関数をグローバルスクリプトイベントから使用する場合は、IGlobalScriptクラス(IGlobalScript.AddLogなど)を使用して呼び出します。Integer)の代替です。DBMoto.logファイルに対してログメッセージを記録します。enmRecordImage)の代替です。特定のレコード情報を含むログメッセージをDBMoto.logに記録します。Beforeが使用されます。パラメータ値としては1,2,4が使用できます。to)testtransparent600#12bece‌パラメータと解説VB.NETC#[レプリケーションエージェントオプション]ダイアログの[メール]タブで定義されたSMTP設定を使用して電子メールを送信します。.NETC#指定されたSMTPサーバ等を使用し、メールを送信します。指定されていない場合にはレプリケーションエージェントオプションダイアログで指定されている設定が変わりに使用されます。enmRecordImage)getrecordinforecord-enmrecordimagetransparent600#12bece‌パラメータと解説VB.NETC#レコードに関する情報を含む文字列を返します。Beforeが使用されます。パラメータ値としては1,2,4が使用できます。0);}}}GetJSONRecordInfogetjsonrecordinfotransparent600#12bece‌パラメータと解説VB.NETC#この関数の4つのバリアントはすべて、汎用の構造化データまたは非構造化データをJSON列タイプにマッピングするときに役立つヘルパー関数です。オブジェクトから返します。"Value3"}GetJSONRecordInfo(args)JSON形式の文字列を返します。オブジェクトの名前と値は、一般的な<propname1、propvalue1、propname2、propvalue2、...>のリストから選択されます。value)タイプTの特定のオブジェクトのJSON形式を返します。この関数は、渡された値が文字列値ではない場合(DateTime、GUIDなど)に使用できます。T(jsonString)上記の関数の逆。JSON文字列形式の特定の値が与えられると、文字列を解析し、生成元の(T型の)オブジェクトを返します。DRの接続でレプリケーションがReceiversInfoオブジェクトとして使用しているレシーバーのリストを返します。Trueの場合、アクティブな(有効な)レプリケーションで使用されるレシーバーのみを取得し、無効なレプリケーションをスキップします。この関数は、ReceiverInfo型の値を返します。クラスの定義は次のとおりです。0);}}}}イベントグローバルスクリプトのGlobalEventsクラスでグローバルイベントハンドラを定義します。各グローバルイベントには、関数が処理する内部イベントを指定する「GlobalEventsAttribute」という属性セクションが必要です。GlobalEventsAttributeイベント名とヘルプ文字列の2つのパラメーターを持つ属性。Record_OnExecuteErrorおよびReplication_OnErrorイベントのエラーハンドラーを定義するときは、この属性を常に宣言する必要があります。パラメーター1:必須。イベント名を含む文字列。値は、処理されるイベントの名前と一致する必要があります。パラメーター2:必須。イベントハンドラの説明またはヘルプメッセージを含む文字列。“”を提供する必要があります。.NETC#このイベントは、単一レコードの実行時にエラーが発生するたびに発生します。Writerのイベントとして、INSERT、DELETE、UPDATEなどのターゲット操作で発生します。操作が最初に失敗したときに、bRetryExecuteオプションを使用して、レコードで実行操作を再実行しようとします。単一レコードの挿入がタイムアウトエラーで失敗した場合、bRetryExecuteをtrueに設定し、iSleepおよびiIterationパラメーターの値を設定すると、数ミリ秒後に操作が成功する可能性があります。このパラメーターを使用してレコード操作が何回再試行されても、一度だけ生成されることに注意してください。レコード操作が成功した場合にのみ1回生成され、レコード操作が失敗した場合は生成されません。GlobalEventsAttribute最初のパラメータは、イベント名「Record_OnExecuteError」を示す必要があります。名前タイプ説明sReplOrGroupNameString読み取り専用。イベントを生成したレプリケーションまたはグループ名recTargetIRecord読み取り専用。エラーが生成された対象レコードを表すオブジェクト。IRecordインターフェイスで使用可能なメソッドを使用して、レコード内の特定の情報にアクセスできます。.NET例外オブジェクト。bRecoverReplicationBooleanデフォルトはFalseです。Trueに設定すると、レプリケーションは回復モードに設定されます。bDisableReplicationBooleanデフォルトはFalseです。Trueに設定されている場合、RetryExecuteの値に関係なく、レプリケーションはログ内のエラーメッセージの通知を終了し、レプリケーションを無効にします。bRetryExecuteBooleanデフォルト値はFalseです。DRログにエラーを記録する前にターゲットレコード操作を再試行する場合は、このパラメーターをTrueに設定します。単一レコードの挿入がタイムアウトエラーで失敗した場合、bRetryExecuteをTrueに設定し、iSleepパラメーターの値を設定すると、数ミリ秒後に操作が成功する場合があります。例は、このパラメーターの使用方法を示しています。このパラメーターを使用してレコード操作が何回再試行されても、一度だけ生成されることに注意してください。レコード操作が成功した場合にのみ1回生成され、レコード操作が失敗した場合は生成されません。iSleepIntegerbRetryExecuteがTrueに設定されている場合、操作を再試行する前にこのパラメーターを使用して遅延値を示します。値はミリ秒単位である必要があります。デフォルト値は0です。例では、このパラメーターの使用方法を示しています。iIterationInteger読み取り専用。bRetryExecuteパラメーターと組み合わせて使用​​します。iIterationは、ターゲットレコード操作が試行された回数を追跡します。ターゲットレコード操作が初めて試行されると、この値は1に設定されます。イベントハンドラーは、bRetryExecuteがfalseに設定されるまで操作の再試行を続けます。例では、エラー時の無限ループを回避する方法を示しています。Integer)※関数名MyErrorHandlerは変更可能です。解説パラメータVB.NETC#このイベントは、単一レコードのマッピングでエラーが発生するたびに発生します。Readerイベントとして、INSERT、DELETE、UPDATEなどのマッピング操作時にソースで発生します。操作が最初に失敗したときに、bRetryExecuteオプションを使用して、レコードのマッピング操作を再実行できます。単一のフィールドマップが構文エラーで失敗した場合、bRetryExecuteをtrueに設定すると、ユーザーがフィールドの値を変更して操作を繰り返すように構成することもできます。レプリケーションイベントRecord_OnBeforeMappingは、このパラメーターを使用してレコード操作が何回再試行されても、一度だけ生成されることに注意してください。レプリケーションイベントRecord_OnAfterMappingは、レコード操作が成功した場合にのみ1回生成され、レコード操作が失敗した場合はまったく生成されません。GlobalEventsAttributeの一つめのパラメーターにイベント名「Record_OnMappingError」を示す必要があります。名前タイプ説明sReplOrGroupNameString読み取り専用。エラーが生成された対象のソースレコードを表すオブジェクト。IRecordインターフェイスで使用可能なメソッドを使用して、レコード内の特定の情報にアクセスできますrecTargetIRecord読み取り専用。エラーが生成された対象のターゲットレコードを表すオブジェクト。IRecordインターフェイスで使用可能なメソッドを使用して、レコード内の特定の情報にアクセスできます。eException読み取り専用。.NET例外オブジェクト。デフォルトはFalaseです。Trueに設定すると、現在のレコードはスキップされ、レプリケーションされません。ログにエラーは出力されません。bRecoverReplicationBooleanデフォルトはFalseです。Trueに設定すると、レプリケーションはリカバリモードに設定されます。bDisableReplicationBooleanデフォルトはFalseです。Trueに設定されている場合、RetryExecuteの値に関係なく、レプリケーションはログ内のエラーメッセージの通知を終了し、レプリケーションを無効にします。bRetryExecuteBooleanデフォルト値はFalseです。DRログにエラーを記録する前にターゲットレコード操作を再試行する場合は、このパラメーターをTrueに設定します。単一レコードの挿入がタイムアウトエラーで失敗した場合、bRetryExecuteをTrueに設定し、iSleepパラメーターの値を設定すると、数ミリ秒後に操作が成功する場合があります。例は、このパラメーターの使用方法を示しています。このパラメーターを使用してレコード操作が何回再試行されても、一度だけ生成されることに注意してください。レコード操作が成功した場合にのみ1回生成され、レコード操作が失敗した場合は生成されません。iSleepIntegerbRetryExecuteがTrueに設定されている場合、操作を再試行する前にこのパラメーターを使用して遅延値を示します。値はミリ秒単位である必要があります。デフォルト値は0です。例では、このパラメーターの使用方法を示しています。iIterationInteger読み取り専用。bRetryExecuteパラメーターと組み合わせて使用​​します。iIterationは、ターゲットレコード操作が試行された回数を追跡します。ターゲットレコード操作が初めて試行されると、この値は1に設定されます。イベントハンドラーは、bRetryExecuteがfalseに設定されるまで操作の再試行を続けます。例では、エラー時の無限ループを回避する方法を示しています。Integer</globaleventsattribute("record_onmappingerror",>※関数名MyErrorHandlerは変更可能です。.NETC#このイベントは、レプリケーションでエラーが発生するたびに発生します。レプリケーション操作の最後にエラーまたは警告アイコンとしてレプリケーションモニターに表示されるすべてのタイプのエラーは、このイベントを生成します。このイベントは、エラーの発生時ではなく、リフレッシュの終了時またはミラーリング間隔の終了時に呼び出されます。GlobalEventsAttributeの一つめのパラメーターは、イベント名「Replication_OnError」を示す必要があります。名前タイプ説明sReplOrGroupNameString読み取り専用。イベントを生成したレプリケーションまたはグループ名sMessageString読み取り専用。エラーメッセージ/例外のスタックbWillDisableBoolean読み取り専用。エラー発生時にレプリケーションを無効にする場合はTrueeReplStatusenmReplStatus読み取り専用。enmReplStatusを使用してイベントが呼び出されたときのレプリケーションステータスを指定します。エミュレータに指定できる値は次のとおりです。ErrorAndContinueレプリケーション中にエラーが発生(リフレッシュまたはミラーリング間隔)した場合にもレプリケーションは続行されます。DR」はログにエラーを報告し、次のレコードに進みます。Errorエラーが生成され、レプリケーションの実行が停止します。次の間隔でレプリケーションは再開されます。DR」はレプリケーションを続行できず、リカバリモードになります。Successこのイベントでは使用されません。Replication_OnErrorが呼び出されると、レプリケーションは常にエラー状態になります。enmReplStatus)※関数名MyErrorHandlerは変更可能です。.NETC#このイベントは、レプリケーションエージェントの起動時に発生します。DRログに通知メッセージを追加したり、管理者に電子メールを送信したりするために使用できます。IGlobalEvents」内にカーソルを置き、例をガイドラインとして使用してハンドラーを定義します。GlobalEventsAttributeの一つ目のパラメーターは、イベント名「ReplicationManager_OnStart」を示す必要があります。このイベントにパラメータはありません。.NETC#このイベントは、レプリケーションエージェントが停止したときに発生します。DRログに通知メッセージを追加したり、管理者に電子メールを送信したりするために使用できます。IGlobalEvents」内にカーソルを置き、以下の例をガイドラインとして使用してハンドラーを定義します。GlobalEventsAttributeの最初のパラメーターは、イベント名「ReplicationManager_OnStop」を示す必要があります。パラメータはありません。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。WordPress.。