Skip to content

XGCIErrors

函数原型

XuguCIRETURN Xugu_API XuguCIErrors(
    XuguCIHSTMT Hndp,
    char* ccode,
    char* errmessage,
    int* rlen

功能

诊断当前句柄已经发生的错误信息,通常的句柄类型为连接句柄或语句句柄。

参数

  • Hndp:句柄,常见的句柄类型为:HT_STATEMENT或HT_SESSION。
  • ccode:错误码,通常为6字节错误特征码,传递错误信息简码。
  • errmessage:错误信息,更详细的说明错误产生的原因或错误的细节信息。字符串类型。
  • rlen:对前一个参数,错误信息的长度返回指示。最大长度不超过512字节。如果错误信息超长,则发生截断,最大显示512字节。

返回值

如下表所示:

返回代码函数返回值错误码错误信息描述故障中文简要描述
XGCI_SUCCESS0成功成功
XGCI_NO_DATA100到达SELECT RESULT末尾,无数据到达SELECT RESULT末尾,无数据
XGCI_NULL_ROW101接受行数据时,网络无行数据,返回空行接受行数据时,网络无行数据,返回空行
XGCI_ERROR-1错误此错误一般需要结合XGCIErrors调用进一步判断详细错误信息
XGCI_ERROR-1E19884can't connect to server连接到数据库失败,可能的情况主要是网络不通或者用户名密码错误
XGCI_ERROR-1E19961params bind conflict with execute sqlsql语句和绑定的参数冲突,比如sql里面没有参数,但是实际绑定了参数,sql语句有参数但是实际没有绑定参数
XGCI_ERROR-1E19962params bind num conflict with execute sqlsql语句中参数占位符的数量和实际绑定的参数的个数不匹配
XGCI_ERROR-1E19963params bind conflicted in execute sql参数占位符与参数绑定的类型不符,参数按名绑定的需要用(:参数名)标识,按序号绑定的需要用?标识占位
XGCI_ERROR-1E02351with out a resultset取当前结果集的列数,但是当前sql语句不产生结果集
XGCI_INVALID_HANDLE-2-无效的句柄传入的句柄异常
XGCI_INVALID_ARG-3-无效的参数参数传入异常
XGCI_NET_ERROR-4-网络错误在发送sql语句或接收数据返回时,因网络中断而产生的错误
XGCI_MEM_ERROR-5E19960Memory allocate error内存申请失败,内存不够或者申请的长度异常
XGCI_INVALID_ATTR-6-无效的属性在进行设置句柄属性或者获得句柄属性时,遇到某些不支持的属性,会返回此值
XGCI_BINDPARAM_NO_ERROR -8-参数序号错误参数按序号绑定时,传入的序号异常
XGCI_UNIQ_ERR-13E13001违反唯一值约束数据库中已经有一条数据的唯一值约束键与当前sql的唯一值键键值相同
XGCI_TIME_OUT-14--查询结果集行数时,因结果集尚未返回完毕,收集的行数不能准确表示
XGCI_DATA_LEN_ERR-17E17005数值超界数据数值超过列类型规定的范围
XGCI_CON_TIME_OUT-24E19886connection not used long till timeout ,server cut the connection, now reconnect ok, you can resend the command again!连接因长时间空闲,被服务器端断开,但因再次访问而重建连接,用户可以再次发送当前命令
XGCI_SQL_TIME_OUT-25E19887sql execute timeout if return value is -25 \n or connection not used long till timeout ,server cut the connection, now reconnect ok, you can resend the command again!sql语句执行时间超时,连接长时间未被调用,直到被服务器端断开连接,现在新sql命令发送导致连接被重建,用户可以重新发送当前sql命令
Handle Type ConstantC Data Type说明
XGCI_NULL_DATA-1列为NULL,无数据返回
XGCI_TRUNCATED_DATA-2数据被截断,申请的长度不够
XGCI_DATATYPE_ERROR-3数据类型无法转换,无法转化为目标输出类型
XGCI_FLOW_DATA-4数据类型越界