返回首页

gbase数据、南大通用产品文档:GBase8s生成信息模式视图

更新日期:2024年09月11日

“信息模式”视图是在您作为 DBA 运行以下 DB-Access 命令时自动生成的:
dbaccess database-name $GBASEDBTDIR/etc/xpg4_is.sql
视图显示系统目录表中的数据。如果表、视图或例程存在并具有与“信息模式”视图
相同的任何名称,那么必须重命名这些数据库对象或者在脚本中重命名视图之后才能安装
视图。
可以对每个视图使用 DROP
VIEW 语句来删除视图。
要重新创建视图,
重新运行脚本。
要点: 除了为每个“信息模式”视图指定的列之外,个别供应商可能会包含附加列或更改
列的顺序。建议应用程序不要使用格式 SELECT * 或 SELECT table-name* 来访问“信息
模式”视图。

SetConnect() 函数仅在 Windows(TM) 环境中可用。它将该连接切换至指定的显式的连
接。

重要: 对于与 Windows(TM) 应用程序的 Version 5.01 GBase 8s ESQL/C 的兼容性,
GBase 8s ESQL/C 支持 SetConnect() 连接库函数。当您为 Windows(TM) 环境编写新的
GBase 8s ESQL/C 应用程序时,
请使用 SQL SET CONNECTION 语句来切换至另一活动的
连接。

语法

void *SetConnect ( void *CnctHndl)

CnctHndl
前面的 GetConnect() 调用已返回的连接句柄。

用法

SetConnect() 函数映射至简单的(不带有 DEFAULT 选项的)SQL SET
CONNECTION 语句。SetConnect() 调用等同于下列 SQL 语句:
EXEC SQL set connection db_connection;

在此示例中,db_connection 是 GetConnect() 函数已建立的现有连接的名称。您将此
db_connection 名称作为参数传递给 SetConnect() 函数。
它是您想要使其活动的连接的连接
句柄。

如果您传递空句柄,
则 SetConnect() 函数返回当前的连接句柄,
且不更改当前的连接。
如果当您传递空句柄时不存在当前的连接,则 SetConnect() 返回空。

例如,下列代码片段使用 SetConnect() 来将至 acctsrvr 数据库服务器上 accounts
数据库的连接(cnctHndl2)切换至 mainsrvr 数据库服务器上的 customers 数据库
(cnctHndl1):
void *cnctHndl1, *cnctHndl2, *prevHndl;


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 929 -

lish connection 'cnctHndl1' to customers@mainsrvr */
strcpy(InetLogin.InfxServer, "mainsrvr");
cnctHndl1 = GetConnect();
EXEC SQL database customers;

/* Establish connection 'cnctHndl2' to accounts@acctsrvr */
strcpy(InetLogin.InfxServer, "acctsrvr");
cnctHndl2 = GetConnect();
EXEC SQL database accounts;

prevHndl = SetConnect( cnctHndl1 );

重要: 由于 SetConnect() 函数映射至 SET CONNECTION 语句,因此,它设置
SQLCODE 和 SQLSTATE 状态代码,来指示该连接切换请求成功还是失败。此行为不同
于 Windows(TM) 的 Version 5.01 GBase 8s ESQL/C 中的 SetConnect(),其中,此函数未设
置 SQLCODE 和 SQLSTATE 值。

SetConnect() 函数取得连接名称的方式不同于 SET CONNECTION 语句。
SetConnect()
使用存储在连接句柄中的内部生成的名称。您必须指定此句柄作为 SetConnect() 调用的参
数。
该 SET CONNECTION 语句使用 CONNECT 语句的 AS 子句指定的用户定义的连接
名称。

重要: 由于 GetConnect() 函数映射至带有 WITH CONCURRENT TRANSACTION
子句的 CONNECT 语句,因此它允许带有打开的事务的显式的连接成为暂停的。在您的
GBase 8s ESQL/C 应用程序调用 SetConnect() 函数来切换至另一显式的连接之前,它不需
要确保提交了或回滚了当前的事务。

返回代码
CnctHndl
如果该函数已返回了当前为暂停的连接的连接句柄,则 SetConnect() 调用成功。
空指针
SetConnect() 调用不成功,指示未建立显式的连接。

|
===========================================================
=======
$ gcadmin showdistribution vc vc1 node
Distribution ID: 4 | State: new | Total segment num: 3
===========================================================
======

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
325
|
nodes
| 172.168.83.11
|