Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
リモートデータベース内の指定したテーブルから挿入と更新をアップロードする直前に、そのテーブルに関連した文を処理します。
次の表の説明では、SQL データ型を示します。Java または .NET でスクリプトを作成する場合、適切な対応するデータ型を使用する必要があります。 SQL データ型と Java データ型とSQL データ型と .NET データ型を参照してください。
SQL スクリプトでは、名前または疑問符を使用してイベントパラメーターを指定できます。疑問符の使用は推奨されなくなりました。名前付きパラメーターを使用することをおすすめします。1 つのスクリプト内で名前と疑問符を混在させることはできません。疑問符を使用する場合、パラメーターは以下に示す順に指定する必要があり、後続のパラメーターが指定されていない場合のみ省略可能です (たとえば、パラメーター 2 を使用する場合は、パラメーター 1 を使用してください)。名前付きパラメーターを使用する場合は、パラメーターの任意のサブセットを任意の順に指定できます。
s.username
VARCHAR(128)。Mobile Link ユーザー名。
1
s.table
VARCHAR(128)。テーブル名。
2
なし。
このイベントは、2 番目のパラメーターで指定したリモートテーブルに対する挿入と削除から生じる変更を適用する直前に、発生します。
リモートデータベースのテーブルごとに、begin_upload_rows スクリプトを 1 つ指定できます。このスクリプトは、テーブルが実際に同期されている場合にのみ呼び出されます。
begin_upload_rows テーブルイベントを使って、特定のテーブルの挿入と更新をアップロードする前に行う必要がある手順を実行します。次のスクリプトは、統合データベースで Inventory テーブルへの挿入と更新を準備するストアドプロシージャーを呼び出します。
CALL ml_add_table_script( 'MyCorp 1.0', 'Inventory', 'begin_upload_rows', 'CALL PrepareForUpserts()' )
次の Mobile Link システムプロシージャーコールは、スクリプトバージョン ver1 を同期するときに、beginUploadRows という Java メソッドを begin_upload_rows テーブルイベント用のスクリプトとして登録します。
CALL ml_add_java_table_script( 'ver1', 'table1', 'begin_upload_rows', 'ExamplePackage.ExampleClass.beginUploadRows' )
次に示すのは、サンプルの Java メソッド beginUploadRows です。このメソッドは、Mobile Link メッセージログにメッセージを出力します (メッセージを Mobile Link メッセージログに出力すると、開発時には便利ですが、運用サーバーのパフォーマンスが遅くなります)。
package ExamplePackage; public class ExampleClass { String _curUser = null; public String beginUploadRows( String user, String table ) throws java.sql.SQLException { java.lang.System.out.println( "Starting upload rows for table: " + table + " and user: " + user ); return ( null ); }}
次の Mobile Link システムプロシージャーコールは、スクリプトバージョン ver1 とテーブル table1 を同期するときに、BeginUploadRows という .NET メソッドを begin_upload_rows テーブルイベント用のスクリプトとして登録します。
CALL ml_add_dnet_table_script( 'ver1', 'table1', 'begin_upload_rows', 'TestScripts.Test.BeginUploadRows' )
次に示すのは、サンプルの .NET メソッド BeginUploadRows です。このメソッドは、Mobile Link メッセージログにメッセージを出力します (メッセージを Mobile Link メッセージログに出力すると、開発時には便利ですが、運用サーバーのパフォーマンスが遅くなります)。
namespace TestScripts { public class Test string _curUser = null; public string BeginUploadRows( string user, string table ) { System.Console.WriteLine( "Starting upload rows for table: " + table + " and user: " + user ); return ( null ); }}}