VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

SQLGetDiagRec

功能描述

返回包含错误、警告和状态信息的诊断记录的多个字段的当前值。 不同于 SQLGetDiagField,后者每次调用返回一个诊断字段, SQLGetDiagRec 将返回诊断记录的几个常用字段,包括 SQLSTATE、本机错误代码和诊断消息文本。

接口原型

RETCODE		SQL_API
SQLGetDiagRec(SQLSMALLINT HandleType, 
                SQLHANDLE Handle,
			    SQLSMALLINT RecNumber, 
                SQLCHAR *Sqlstate,
			    SQLINTEGER *NativeError, 
                SQLCHAR *MessageText,
			    SQLSMALLINT BufferLength, 
                SQLSMALLINT *TextLength)

参数说明

参数名 参数说明
HandleType 一个句柄类型标识符,描述需要诊断的句柄的类型。 必须是下列选项之一:
  • SQL_HANDLE_DBC
  • SQL_HANDLE_DBC_INFO_TOKEN
  • SQL_HANDLE_DESC
  • SQL_HANDLE_ENV
  • SQL_HANDLE_STMT
SQL_HANDLE_DBC_INFO_TOKEN 句柄仅由驱动程序管理器和驱动程序使用。 应用程序不应使用此句柄类型。 
Handle HandleType 指示的类型的诊断数据结构的句柄。 如果 SQL_HANDLE_ENV HandleType ,则句柄可以是共享或非共享环境句柄。
RecNumber 指示应用程序从中查找信息的状态记录。 状态记录从1开始编号。
Sqlstate 指向缓冲区的指针,将在此缓冲区中返回五个字符的 SQLSTATE 代码 (并终止诊断记录 RecNumber 的 NULL)。前两个字符指示类;接下来的三个指示子类。 此信息包含在 SQL_DIAG_SQLSTATE 诊断字段中。
NativeError 指向缓冲区的指针,该缓冲区用于返回特定于数据源的本机错误代码。 此信息包含在 SQL_DIAG_NATIVE 诊断字段中。
MessageText 指向要返回诊断消息文本字符串的缓冲区的指针。 此信息包含在 SQL_DIAG_MESSAGE_TEXT 诊断字段中。
BufferLength MessageText指向的缓冲区的大小。
TextLength 指向缓冲区的指针,将在此缓冲区中返回 null 终止字符) 可在 MessageText 中返回的字符总数 (。 如果可返回的字符数大于 BufferLength,则 MessageText 中的诊断消息文本将截断为 BufferLength 减去 null 终止字符的长度。

返回

  • SQL_SUCCESS:表示调用正确。
  • SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。
  • SQL_NO_DATA_FOUND:表示没有找到数据。

其他

无。