返回首页

gbase数据、南大通用产品文档:GBase8sSQLDriverConnect (仅限一级)

更新日期:2024年09月11日

SQLDriverConnect 等同于 SQLConnect。
它支持需要更多连接信息的数据源,而不是只需要 SQLConnect 对话框中的三个参数的数
据源,这三个参数提示用户所有连接信息和未定义数据源名称的数据源。
SQLDriverConnect 提供以下连接选项:
l
可以使用包含数据源,一个或多个用户 ID,一个或多个密码和数据源需要的其他信息
的连接字符串建立连接。
l
可以使用部分连接字符串建立连接,或者不使用其他信息。在这种情况中,GBase 8s
ODBC Driver 可以提示用户提供连接信息。
建立连接后,SQLDriverConnect 连接字符串完成。应用程序可以使用此字符串进行后续的
连接请求。
SQLSTATE
错误值
错误消息
01000
-11001
General warning
01004
-11003
Data truncated
01S00
-11005
Invalid connection string attribute
08001
-11015
Unable to connect to data source
08002
-11016
Connection in use
08S01
-11020
Communication-link failure
28000
-11033
Invalid authorization specification
IM002
-11041
Data source not found and no default driver specified
IM003
-11042
Specified driver could not be loaded
IM004
-11043
Driver's SQLAllocEnv failed
IM005
-11044
Driver's SQLAllocConnect failed
IM006
-11045
Driver's SQLSetConnectOption failed
IM007
-11046
No data source or driver specified; dialog prohibited
IM008
-11047
Dialog failed
IM009
-11048
Unable to load translation shared library

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 219 -

SQLSTATE
错误值
错误消息
IM010
-11049
Data-source name too long
IM011
-11050
Driver name too long
IM012
-11051
DRIVER keyword syntax error
S1000
-11060
General error
S1001
-11061
Memory-allocation failure
S1090
-11071
Invalid string or buffer length
S1110
-11090
Invalid driver completion
S1T00
-11094
Time-out expired
08S01
-11301
A protocol error has been detected. Current connection is
closed.
S1000
-11302
Insufficient connection information was supplied
S1000
-11303
Input connection string too large
S1000
-11317
Invalid connectdatabase value specified
S1000
-11318
Invalid vmbcharlenexact value specified
S1000
-11320
Syntax error
S1000
-11323
The statement contained an escape clause not supported by
this database driver

步骤1 创建资源消费组并关联用户
create consumer group group_high
comment = 'users for high';
create consumer group group_low
comment = 'users for low';
alter consumer group group_high
add user usera;
alter consumer group group_low
add user userb;
步骤2 创建资源池
create resource pool static_pool_high(
cpu_percent=90,
max_memory=10000,
max_temp_diskspace= 10000,
max_disk_space= 10000,
max_disk_writeio=1000,
max_disk_readio=1000) TYPE static;
create resource pool static_pool_low(
cpu_percent=10,
max_memory=10000,
max_temp_diskspace= 10000,
max_disk_space= 10000,
max_disk_writeio=1000,
max_disk_readio=1000) TYPE static;
create resource pool pool_high(
priority=1,
cpu_percent=100,
max_memory=4000,
max_temp_diskspace=50000,
max_disk_space=50000,

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
516
max_disk_writeio=600,
max_disk_readio=600,
max_activetask=200,
task_max_parallel_degree=100,
task_waiting_timeout=100000,
task_running_timeout=100000)
type dynamic base on static_pool_high;
create resource pool pool_low(
priority=1,
cpu_percent=100,
max_memory=4000,
max_temp_diskspace=50000,
max_disk_space=50000,
max_disk_writeio=600,
max_disk_readio=600,
max_activetask=200,
task_max_parallel_degree=100,
task_waiting_timeout=100000,
task_running_timeout=100000)
type dynamic base on static_pool_low;
步骤3 创建资源计划
create resource plan
resource_plan
comment = 'resource plan';
步骤4 创建资源指令计划
create resource directive directive1
(plan_name = 'resource_plan',
pool_name = 'pool_high',
group_name = 'group_high',
comment = 'high user resource usage ');
create resource directive directive2
(plan_name = 'resource_plan',
pool_name = 'pool_low',
group_name = 'group_low',

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
517
comment = 'low user resource usage ');
步骤5 激活计划
active resource plan resource_plan on vc vc1;
注意

由于RH6.x/SUSE11 等低版本的操作系统存在内核缺陷,可能会导致大负载的情况下,
操作系统宕机。

建议在RH7.3/SUSE12 以上版本的操作系统中使用多静态资源池控制。

可以定义称为触发器例程专用 SPL 例程,
此类例程只能从触发器操作的 FOR EACH ROW
段进行调用。
与 EXECUTE FUNCTION 或 EXECUTE PROCEDURE 例程可以从触发操作
列表中调用的普通 UDR 不同,触发器例程包含自己的 REFERENCING 子句,可用于为
触发操作修改的行中原有列和新列值定义相关名。这些相关名可以在触发器例程中的 SPL
语句中引用,为触发操作可在表或视图中修改数据的方式提供更大的灵活性。
触发器例程也可使用称为 DELETING 、
INSERTING 、
SELECTING 和 UPDATING 触发
器类型的布尔运算符,以标识已调用触发器例程的触发器的类型。触发器例程还可以调
用 mi_trigger* 例程(有时称为触发器自省类型)来获取关于已调用触发器例程的上下文的
信息。
触发器例程由包含 WITH TRIGGER REFERENCES 关键字的 EXECUTE FUNCTION 或
EXECUTE PROCEDURE 语句调用。
这些语句必须从触发操作的 FOR EACH ROW 段中调
用触发器例程,而不是从 BEFORE 或 AFTER 段中进行调用。
有关支持定义和执行触发器例程的 SQL 的 CREATE FUNCTION 、CREATE
PROCEDURE 、
EXECUTE FUNCTION 和 EXECUTE PROCEDURE 语句的语法特征的信
息,
请参阅
《GBase 8s SQL 指南:
语法》

有关 mi_trigger* 例程的更多信息,
请参阅
《GBase
8s DataBlade API 程序员指南》。