通信エラー・レポート情報を保持する構造体です。
構文は、使用する 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 サーバが稼働していないか、指定されたポートで受信していません。 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 |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |