暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

关于GBase 8s数据库CONNECTION_NAME 域的内容分享

郑小雯 2023-04-28
134

CONNECTION_NAME 域的内容

CONNECTION_NAME 域包含依赖于先前执行的 CONNECT、SET CONNECTION、

DISCONNECT 或 DISCONNECT ALL 语句的连接信息。

在您执行下列语句之后,CONNECTION_NAME 域包含不同的信息

执行的语句 CONNECTION_NAME 域内容 CONNECT 包含连接或未连接的连接名称,在 CONNECT 语句中指定。对于无当前 连接或缺省连接,该区域为空白。 SET CONNECTION 包含切换或未切换的连接名称,在 SET CONNECTION 语句中指定。 DISCONNECT 包含断开连接或未断开连接的连接名称,在 DISCONNECT 语句中指定。 如果您成功地断开连接,然后执行非当前连接的 DISCONNECT 语句,则 CONNECTION_NAME 域保持不变。 DISCONNECT ALL 如果成功地执行 DISCONNECT ALL 语句,则不包含信息。如果未成功地 执行该语句,则 CONNECTION_NAME 与包含在 CONNECT 语句中指定 的未断开连接的所有连接的名称。然而,此信息不意味着连接仍存在。

如果 CONNECT 成功,则 CONNECTION_NAME 取这些值之一:

• 在 CONNECT 语句中指定的数据库环境的名称,如果 CONNECT 语句不包括 AS 子句

• 连接的名称(在 AS 关键字之后声明了的标识符),如果 CONNECT 语句包括 AS 子句


使用 GET DIAGNOSTICS 进行错误检查

GET DIAGNOSTICS 从诊断区域中的各种域返回值。对于您想要访问的诊断区域中的每一域,必 须支持兼容数据类型的主变量。

下列示例展示如何使用 GET DIAGNOSTICS 语句来显示错误信息。该示例展示名为

disp_sqlstate_err( ) 的 GBase 8s ESQL/C 错误显示例程:

void disp_sqlstate_err() { int j; EXEC SQL BEGIN DECLARE SECTION; int exception_count; char overflow[2]; int exception_num=1;

char class_id[255]; char subclass_id[255]; char message[255]; int messlen; char sqlstate_code[6]; int i; EXEC SQL END DECLARE SECTION; printf("---------------------------------"); printf("-------------------------\n"); printf("SQLSTATE: printf("SQLCODE: %d\n", SQLCODE); printf("\n"); EXEC SQL get diagnostics :exception_count = NUMBER, :overflow = MORE; printf("EXCEPTIONS: Number=%d\t", exception_count); printf("More? %s\n", overflow); for (i = 1; i <=>

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论