同期処理の準備中にアプリケーションが Mobile Link サーバに接続する時点で、任意の文を処理します。
次の表の説明では、SQL データ型を示します。Java または .NET でスクリプトを作成する場合、適切なデータ型を使用してください。SQL データ型と Java データ型とSQL データ型と .NET データ型を参照してください。
SQL スクリプトのパラメータ名 |
説明 |
順序 |
---|---|---|
s.remote_id | VARCHAR(128)。Mobile Link リモート ID。名前付きパラメータを使用している場合のみ、リモート ID を参照できます。 | 適用不可 |
s.username |
VARCHAR(128)。Mobile Link ユーザ名。 |
1 |
なし
同期を準備するアプリケーションが Mobile Link サーバとの接続を形成した直後に、Mobile Link サーバがこのイベントを実行します。このイベントは、アップロード・トランザクションの前に、別のトランザクションで実行されます。
begin_synchronization スクリプトは統計値の管理に便利です。これは、エラーや競合が発生しても end_synchronization スクリプトが起動されるので、アップロード・トランザクションがロールバックされている間は、統計値のようにデータが維持されるためです。
username の値を後続のスクリプトで何度も参照する場合は、その値をテンポラリ・テーブルまたは変数に格納できます。
CALL ml_add_connection_script ( 'version1', 'begin_synchronization', 'set @EmployeeID = {ml s.username}' ); |
次の Mobile Link システム・プロシージャ・コールは、スクリプト・バージョン ver1 を同期するときに、beginSynchronizationConnection という Java メソッドを begin_synchronization 接続イベント用のスクリプトとして登録します。
CALL ml_add_java_connection_script( 'ver1', 'begin_synchronization', 'ExamplePackage.ExampleClass.beginSynchronizationConnection' ) |
次に示すのは、サンプルの Java メソッド beginSynchronizationConnection です。このメソッドは後で使用する同期ユーザの名前を保存します。
public String beginSynchronizationConnection( String user ) { _curUser = user; return ( null ); } |
次の Mobile Link システム・プロシージャ・コールは、スクリプト・バージョン ver1 を同期するときに、BeginSync という .NET メソッドを begin_synchronization 接続イベント用のスクリプトとして登録します。
CALL ml_add_dnet_connection_script( 'ver1', 'begin_synchronization', 'TestScripts.Test.BeginSync' ) |
次に示すのは、サンプルの .NET メソッド BeginSync です。このメソッドは後で使用する同期ユーザの名前を保存します。
public string BeginSync( string user ) { _curUser = user; return ( null ); } |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |