Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
Mobile Link サーバーがアップロードされた挿入、更新、削除の処理を完了した直後に、任意の文を処理します。
次の表の説明では、SQL データ型を示します。Java または .NET でスクリプトを作成する場合、適切な対応するデータ型を使用する必要があります。 SQL データ型と Java データ型とSQL データ型と .NET データ型を参照してください。
SQL スクリプトでは、名前または疑問符を使用してイベントパラメーターを指定できます。疑問符の使用は推奨されなくなりました。名前付きパラメーターを使用することをおすすめします。1 つのスクリプト内で名前と疑問符を混在させることはできません。疑問符を使用する場合、パラメーターは以下に示す順に指定する必要があり、後続のパラメーターが指定されていない場合のみ省略可能です (たとえば、パラメーター 2 を使用する場合は、パラメーター 1 を使用してください)。名前付きパラメーターを使用する場合は、パラメーターの任意のサブセットを任意の順に指定できます。
s.username
VARCHAR(128)。Mobile Link ユーザー名。
1
なし。
Mobile Link サーバーは、アップロードした情報を処理する最後の手順としてこのスクリプトを実行します。アップロード情報は 1 つのトランザクションで処理されます。このスクリプトは、このトランザクションで統計スクリプトの前に実行される最後のアクションです。
次の SQL Anywhere の SQL スクリプト は EndUpload ストアドプロシージャーを呼び出します。
CALL ml_add_connection_script( 'ver1', 'end_upload', 'CALL EndUpload({ml s.username});' )
次の Mobile Link システムプロシージャーコールは、スクリプトバージョン ver1 を同期するときに、endUploadConnection という Java メソッドを end_upload 接続イベント用のスクリプトとして登録します。
CALL ml_add_java_connection_script( 'ver1', 'end_upload', 'ExamplePackage.ExampleClass.endUploadConnection' )
次に示すのは、サンプルの Java メソッド endUploadConnection です。このメソッドは、データベースの操作を実行するメソッドを呼び出します。
public String endUploadConnection( String user ) { // Clean up new and old tables. Iterator two_iter = _tables_with_ops.iterator(); while( two_iter.hasNext() ) { TableInfo cur_table = (TableInfo)two_iter.next(); dumpTableOps( _sync_conn, cur_table ); } _tables_with_ops.clear(); return ( null ); }
次の Mobile Link システムプロシージャーコールは、スクリプトバージョン ver1 を同期するときに、EndUpload という .NET メソッドを end_upload 接続イベント用のスクリプトとして登録します。
CALL ml_add_dnet_connection_script( 'ver1', 'end_upload', 'TestScripts.Test.EndUpload' )
次に示すのは、サンプルの .NET メソッド EndUpload です。このメソッドは、EndUpload ストアドプロシージャーを呼び出す SQL 文を返します。
namespace TestScripts { public class Test { string _curUser = null; public string EndUpload( string user ) { return ( "CALL EndUpload({ml s.username});" ); }}}