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 データベース管理とリファレンス » Mobile Link クライアントとしての Ultra Light » Ultra Light 同期パラメータとネットワーク・プロトコル・オプション » Ultra Light の同期パラメータ

 

Stream Error 同期パラメータ

通信エラー・レポート情報を保持する構造体です。

構文

構文は、使用する API によって異なります。

適用対象

このパラメータは、C/C++ インタフェースにのみ適用されます。

指定可能な値

このパラメータにはデフォルト値がないので、サポートされているフィールドの一つを使用して明示的に設定する必要があります。ul_stream_error のフィールドは、次のとおりです。

  • stream_error_code   必須ではありません。値は常に 0 です。

    エラー番号のリストについては、Mobile Link 通信エラー・メッセージを参照してください。エラー・コードのサフィックスについては、install-dir\SDK\Include\sserror.h を参照してください。

  • system_error_code   システム固有のエラー・コード。エラー・コードの詳細については、プラットフォームのマニュアルを参照してください。Windows プラットフォームの場合は、Microsoft Developer Network (MSDN) マニュアルを参照してください。Windows における一般的なシステム・エラーを次に示します。

    • 10048 (WSAADDRINUSE)   アドレスがすでに使用されています。

    • 10053 (WSAECONNABORTED)   ソフトウェアが接続のアボートを引き起こしました。

    • 10054 (WSAECONNRESET)   通信の他方の側がソケットを閉じました。

    • 10060 (WSAETIMEDOUT)   接続がタイムアウトしました。

    • 10061 (WSAECONNREFUSED)   接続が拒否されました。通常、Mobile Link サーバが稼働していないか、指定されたポートで受信していません。[external link] Microsoft Developer Network Web サイトを参照してください。

  • error_string   アプリケーションが提供するエラー・メッセージ。文字列は空の場合もあれば、空でない場合もあります。空でない error_string は、stream_error_code とともに情報を提供します。たとえば、書き込みエラー (エラー・コード 9) の場合、エラー文字列は、書き込もうとしたバイト数を示します。

  • error_string_length   廃止予定。エラー文字列バッファのサイズ

備考

Ultra Light C++ コンポーネント以外の Ultra Light アプリケーションは、Sync Result パラメータの一部として通信エラー情報を受け取ります。Sync Result 同期パラメータを参照してください。

stream_error フィールドは ul_stream_error 型の構造体です。

typedef struct {
    ss_error_code stream_error_code;
    asa_uint16    alignment;
    asa_int32     system_error_code;
    char          error_string[UL_STREAM_ERROR_STRING_SIZE];
} ul_stream_error, * p_ul_stream_error;

この構造体は、install-dir\SDK\Include\sserror.h で定義されています。

SQLE_COMMUNICATIONS_ERROR をチェックします。

Connection conn;
ul_synch_info info;
...
conn.InitSynchInfo( &info );
info.stream_error.error_string = error_buff;
info.stream_error.error_string_length =
                   sizeof( error_buff );
if( !conn.Synchronize( &synch_info ) ){
    if( SQLCODE == SQLE_COMMUNICATIONS_ERROR ){
        printf( error_buff );
    // more error handline here
参照