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

SQL Anywhere 11.0.1 (中文) » MobiLink - 客户端管理 » 用于 MobiLink 的 SQL Anywhere 客户端 » Dbmlsync API » 适用于 C++ 的 Dbmlsync API

 

GetErrorInfo 方法

对于在此接口中紧接着另一方法失败后发生的故障,可使用此方法来检索有关的更多信息。

语法
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 包含有关失败的更多信息,其含义取决于类型值。对于大多数类型值,所有这些字段中的信息都是无用的。例外情况在上述的前一个列表中进行了说明。