HotSync 同期は、Ultra Light アプリケーションが閉じるときに行われます。同期は HotSync によって開始されます。
HotSync を使用する場合は、アプリケーションを閉じる前に ULSetSynchInfo を呼び出して同期します。HotSync 同期には、ULSynchronize や ULConnection.Synchronize は使用しないでください。
アプリケーションから HotSync 同期を有効にするには、次の手順でコードを追加します。
ul_synch_info 構造体を準備します。
ULSetSynchInfo 関数を呼び出し、ul_synch_info 構造体を引数として指定します。
この関数は、ユーザが Ultra Light アプリケーションから別のアプリケーションに切り替えたときに呼び出されます。すべての処理がコミットされていることを確認してから、db_fini を呼び出してください。ul_synch_info.stream パラメータは無視されるので、設定する必要はありません。
次に例を示します。
//C++ API ul_synch_info info; ULInitSynchInfo( &info ); info.stream_parms = UL_TEXT( "stream=tcpip;host=localhost" ); info.user_name = UL_TEXT( "50" ); info.version = UL_TEXT( "custdb" ); ULSetSynchInfo( &sqlca, &info ); if( !db.Close( ) ) { return( false ); } |
db_fini を呼び出します。
Ultra Light Palm アプリケーションのステータスの管理 (旧式)とUltra Light の同期パラメータを参照してください。
Ultra Light アプリケーションの HotSync 同期には、Ultra Light HotSync コンジットが必要です。Palm アプリケーションの終了時にコミットされていないトランザクションがあるときに同期を行った場合、コンジットは、データベース内にコミットされていない変更があるため同期が失敗したとレポートします。
ul_synch_info 構造体の同期ストリーム・パラメータは、Mobile Link サーバとの通信を制御します。HotSync 同期では、Ultra Light アプリケーションは Mobile Link サーバと直接通信しません。HotSync コンジットと通信します。
同期ストリーム・パラメータを次のいずれかの方法で指定することによって、Mobile Link コンジットの動作を制御できます。
ULSetSynchInfo に渡される ul_synch_info の stream_parms メンバに必要な情報を提供します。
使用可能な値のリストについては、Ultra Light 同期ストリームのネットワーク・プロトコルのオプションを参照してください。
stream_parms メンバに NULL 値を指定します。Mobile Link コンジットは自らが動作しているコンピュータ上の ClientParms レジストリ・エントリを調べ、Mobile Link サーバへの接続方法に関する情報を見つけます。
レジストリ・エントリ内のストリームとストリーム・パラメータは、ul_synch_info 構造体の stream_parms フィールドと同じフォーマットで指定します。
Ultra Light 同期パラメータとネットワーク・プロトコル・オプションを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |