手動で任意のスクリプトを実行できます。SQL Anywhere クライアントでスクリプトを手動で実行するには、sync_get_next_passthrough_script 関数と sync_execute_next_passthrough_script 関数を使用します。
sync_get_next_passthrough_script 関数はパラメータを取らず、次に実行するスクリプトの run_order を返します。そのスクリプトに関する情報を取得するには、dbo.sync_passthrough_script テーブルに問い合わせてください。
dbo.sync_passthrough_script テーブルは、次のように定義されています。
カラム名 | 説明 |
---|---|
run_order |
INTEGER。run_order パラメータによって、スクリプトをリモート・データベースに適用する順序が決まります。スクリプトは常に、run_order に従って順序どおりに適用されます。 この値は負でない整数にします。 |
script_id |
INTEGER。この値はスクリプトをユニークに識別します。 |
script_name |
VARCHAR(128)。スクリプトの名前。このカラムは、統合データベースで ml_add_passthrough_script を呼び出したときにスクリプトに対して指定した script_name の値と対応します。 |
flags |
BIGINT。flags カラムは、ml_add_passthrough_script ストアド・プロシージャに渡される flags パラメータで指定された情報を格納します。指定されたフラグは、整数にコード化されます。コード化は、指定された各フラグを次に示す値に変換し、その値を OR 演算子で結合することによって行われます。
|
affected_pubs |
LONG VARCHAR。スクリプトの実行前に同期する必要があるパブリケーションのリスト。このカラムは、ml_add_passthrough_script を呼び出したときにスクリプトに対して指定した affected_pubs の値と対応します。 |
script |
LONG VARCHAR。パススルー・スクリプトの内容。このカラムは、ml_add_passthrough_script を呼び出したときにスクリプトに対して指定した script の値と対応します。 |
description |
VARCHAR(2000)。スクリプトのコメントまたは説明。このカラムは、ml_add_passthrough_script を呼び出したときにスクリプトに対して指定した description の値と対応します。 |
実行するスクリプトがもうない場合や、最後に実行したスクリプトでエラーが発生しても処理の続行方法に関する命令をサーバからまだ受け取っていない場合、sync_get_next_passthrough_script 関数は NULL を返します。
sync_execute_next_passthrough_script 関数はパラメータを取りません。この関数は、次のスクリプトを実行し、スクリプトの結果を後で統合データベースにアップロードできるように、データベース内の進行状況情報とステータス情報を更新します。最後のスクリプトがエラーを返し、エラーの処理方法に関する命令が Mobile Link サーバからまだ届いていない場合、スクリプトは実行されません。スクリプトが実行された場合、そのスクリプトの実行順序が返されます。スクリプトがまったく実行されなかった場合、NULL が返されます。スクリプトの結果の取得を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |