对于在此接口中紧接着另一方法失败后发生的故障,可使用此方法来检索有关的更多信息。
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; |
此结构的内容可能会在下次调用类方法时被覆盖。
类型字段包含表示此故障原因的值。目前,类型可以采用下列值:
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 是发送的 sync 请求的句柄。如果服务器收到此请求,该句柄可用于为使用GetEvent 方法检索的同步标识事件。
str1、str2、val1、val2 和 hdl1 包含有关失败的更多信息,其含义取决于类型值。对于大多数类型值,所有这些字段中的信息都是无用的。例外情况在上述的前一个列表中进行了说明。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |