Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Ultra Light - C/C++ プログラミング » API リファレンス » Embedded SQL API リファレンス

 

ULGetSynchResult 関数

アプリケーション・プログラムで適切なアクションを実行できるようにするために、最新の同期の結果を格納する構造体です。

構文
ul_bool ULGetSynchResult(
ul_synch_result  * synch-result
);
パラメータ

synch-result   同期結果を保持する構造体。この構造体は、ulglobal.h で次のように定義されます。

typedef struct ul_synch_result {
    an_sql_code         sql_code;
    char                     sql_error_string[];
    ul_stream_error   stream_error;
    ul_bool                 upload_ok;
    ul_bool                 ignored_rows;
    ul_auth_status     auth_status;
    ul_s_long             auth_value;
    SQLDATETIME      timestamp;
    ul_bool                partial_download_retained;
    ul_synch_status   status;
} ul_synch_result, * p_ul_synch_result;

個々のパラメータは次のとおりです。

  • sql_code   最後の同期の SQL コード。SQL コードのリストについては、SQL Anywhere のエラー・メッセージ (SQLSTATE 順)を参照してください。

  • sql_error_string   sql_code フィールドでレポートされたエラーに関連するエラー・メッセージ・テキスト。

  • stream_error   ul_stream_error 型の構造体。Stream Error 同期パラメータを参照してください。

  • upload_ok   アップロードが成功した場合は true、それ以外の場合は false。

  • ignored_rows   アップロードされたローが無視された場合は true、それ以外の場合は false。

  • auth_status   同期認証ステータス。Authentication Status 同期パラメータを参照してください。

  • auth_value   Mobile Link サーバが auth_status の結果を判断するために使用する値。Authentication Value 同期パラメータを参照してください。

  • timestamp   最後の同期の時刻と日付。

  • partial_download_retained   部分的なダウンロードが保持されているかどうかを示すフラグ。

  • status   observer 関数によって使用されるステータス情報。Observer 同期パラメータを参照してください。

戻り値
  • 処理が成功した場合は true。

  • 処理が失敗した場合は false。

備考

アプリケーションでは、ul_synch_result オブジェクトを割り当ててから ULGetSynchResult に渡してください。この関数は、ul_synch_result に最後の同期の結果を入れます。これらの結果は、データベースに永続的に格納されます。

Palm OS で HotSync を使用してアプリケーションを同期する場合、同期はアプリケーションの外部で行われるため、この関数を使用します。接続で設定された SQLCODE 値は、接続操作の結果そのものを表します。同期ステータスと結果は、HotSync ログにだけ書き込まれます。詳細な同期結果情報を取得するには、データベースに接続しているときに ULGetSynchResult を呼び出します。

次のコードは、前回の同期が正常に終了したかどうかをチェックします。

ul_synch_result synch_result;
memset( &synch_result, 0, sizeof( ul_synch_result ) );
db_init( &sqlca );
EXEC SQL CONNECT "dba" IDENTIFIED BY "sql";
if( !ULGetSynchResult( &sqlca, &synch_result ) ) {
    prMsg( "ULGetSynchResult failed" );
}