インタフェース内の別のメソッドが失敗した直後にこのメソッドを使用して、失敗に関する追加情報を取得します。
const DBSC_ErrorInfo *GetErrorInfo( )
失敗に関する情報を含む DBSC_ErrorInfo 構造体へのポインタを返します。DBSC_ErrorInfo 構造体は、次のように定義されます。
typedef struct { DBSC_ErrorType type; const char *str1; const char *str2; long int val1; long int val2; DBSC_SyncHdl hdl1; } DBSC_ErrorInfo; |
この構造体の内容は、クラス・メソッドが次回呼び出されたときに上書きされることがあります。
type フィールドは、失敗の理由を示す値を格納します。現在、type は次の値を取ります。
DBSC_ERR_OK エラーは発生しませんでした。
DBSC_ERR_NOT_INITIALIZED クラスが、Init メソッドを呼び出すことによって初期化されていません。
DBSC_ERR_ALREADY_INITIALIZED すでに初期化されたクラスに対して、Init メソッドが呼び出されました。
DBSC_ERR_NOT_CONNECTED dbmlsync サーバへの接続がありません。
DBSC_ERR_CANT_RESOLVE_HOST ホスト情報を解決できません。
DBSC_ERR_CONNECT_FAILED 接続が失敗しました。
DBSC_ERR_INITIALIZING_TCP_LAYER TCP レイヤの初期化中にエラーが発生しました。
DBSC_ERR_ALREADY_CONNECTED すでに接続が確立されているため、Connect メソッドが失敗しました。
DBSC_ERR_PROTOCOL_ERROR これは内部エラーです。
DBSC_ERR_CONNECTION_REJECTED dbmlsync サーバによって接続が拒否されました。
str1 は、サーバによって返された文字列を指します。この文字列には、接続試行が拒否された理由の詳細が含まれることがあります。
DBSC_ERR_TIMED _OUT サーバからの応答を待っている間にタイムアウトになりました。
DBSC_ERR_STILL_CONNECTED クラスがまだサーバに接続されているため、そのクラスに対して Fini を実行できませんでした。
DBSC_ERR_SYNC_NOT_CANCELED サーバが同期要求をキャンセルできませんでした。同期がすでに進行中であることが原因と思われます。
DBSC_ERR_INVALID_VALUE SetProperty メソッドに無効なプロパティ値が渡されました。
DBSC_ERR_INVALID_PROP_NAME 指定したプロパティ名は無効です。
DBCS_ERR_VALUE_TOO_LONG プロパティ値が長すぎます。プロパティは、DBCS_MAX_PROPERTY_LEN で指定されているバイト数よりも短くしてください。
DBSC_ERR_SERVER_SIDE_ERROR サーバでエラーがありました。
str1 は、サーバによって返された文字列を指します。この文字列には、エラーの詳細が含まれることがあります。
DBSC_ERR_CREATE_PROCESS_FAILED 新しい dbmlsync サーバを起動できません。
DBSC_ERR_READ_FAILED dbmlsync サーバからのデータの読み込み中にエラーが発生しました。
DBSC_ERR_WRITE_FAILED dbmlsync サーバへのデータの送信中にエラーが発生しました。
DBSC_ERR_NO_SERVER_RESPONSE 要求されたアクションを完了するために必要な応答をサーバから受信できませんでした。
DBSC_ERR_UID_OR_PWD_TOO_LONG 指定した UID または PWD が長すぎます。
DBSC_ERR_UID_OR_PWD_NOT_VALID 指定した UID または PWD が無効です。
DBSC_ERR_INVALID_PARAMETER 関数に渡されたパラメータのいずれかが無効です。
DBSC_ERR_WAIT_FAILED サーバが停止するのを待っている間にエラーが発生しました。
DBSC_SHUTDOWN_NOT_CALLED ShutdownServer メソッドを呼び出す前に WaitForServerShutdown メソッドが呼び出されました。
DBSC_ERR_NO_SYNC_ACK 同期要求がサーバに送信されましたが、受信確認が受信されませんでした。サーバが要求を受信したかどうかを判別できません。
hdl1 は、送信された同期要求のハンドルです。サーバが要求を受信した場合は、このハンドルを使用すると、GetEvent メソッド を使用して取得された同期用イベントを識別できます。
str1、str2、val1、val2、hdl1 には失敗に関する詳細が含まれ、その意味は type 値によって異なります。ほとんどの type 値では、これらのフィールドに有用な情報はありません。例外は、前述のリストに示しています。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |