返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

COLLATION(str)
函数说明
返回字符串参数的字符集排序规则。
示例
示例1:返回“abc”的字符集排序规则。
gbase> SELECT COLLATION('abc') FROM dual;
+--------------------+
| COLLATION('abc')
|
+--------------------+
| utf8mb4_general_ci |
+--------------------+
1 row in set
示例2:返回“_gb2312 'abc'”的字符集排序规则。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
848
gbase> SELECT COLLATION(_gb2312 'abc') FROM dual;
+--------------------------+
| COLLATION(_gb2312 'abc') |
+--------------------------+
| utf8mb4_general_ci
|
+--------------------------+
1 row in set

功能描述
设置控制连接各方面的属性。
原型
SQLRETURN SQLSetConnectAttr(SQLHDBC ConnectionHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr, SQLINTEGER StringLength);
参数
表8-30 SQLSetConnectAttr 参数
关键字
参数说明

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
267
EnvironmentHan dle
环境句柄。
Attribute
需设置的环境属性,可为如下值:

SQL_ATTR_ODBC_VERSION:指定ODBC 版本。

SQL_CONNECTION_POOLING:连接池属性。

SQL_OUTPUT_NTS:指明驱动器返回字符串的形式。
ValuePtr
指向对应Attribute 的值。依赖于Attribute 的值,ValuePtr 可能
是32 位整型值,或为以空结束的字符串。
StringLength
如果ValuePtr 指向字符串或二进制缓冲区,这个参数是
*ValuePtr 长度,如果ValuePtr 指向整型,忽略StringLength。
返回值

SQL_SUCCESS:表示调用正确。

SQL_SUCCESS_WITH_INFO:表示会有一些警告信息。

SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。

SQL_INVALID_HANDLE:表示调用无效句柄。其他API 的返回值同理。
注意事项
当SQLSetEnvAttr 的返回值为SQL_ERROR 或SQL_SUCCESS_WITH_INFO 时,通过
借助SQL_HANDLE_ENV 的HandleType 和EnvironmentHandle 的Handle ,调用
SQLGetDiagRec 可得到相关的SQLSTATE 值,通过SQLSTATE 值可以查出调用此函数的具
体信息。
示例
参见8.2.23 示例。

扩容coordinator 节点报错“fail to execute
gcadmin cpcorditbl coorHosts.xml”
问题现象
扩容安装coordinator 节点时,
gcinstall.py 脚本安装新coordinator 节点后需要将原有
coordinator 节点上的元数据同步到新的coordinator 节点上,
此时gcinstall.py 脚本将
会执行gcadmin cpcorditbl coorHosts.xml 命令,在同步元数据时失败会打印该报错
信息“fail to execute gcadmin cpcorditbl coorHosts.xml”。
原因分析
gcadmin在同步coordinator节点元数据时需要将原有coordinator节点的元数据打包、
拷贝到新节点上,然后解压到新coordinator 节点上,最后将新coordinator 节点的
gclusterd 进程杀掉重启。出现该问题的原因是可能是由于元数据过多,在打包拷贝
的过程中超时造成的。此时可查看gcintall.log 中是否有“Error cause timeout”确定。
解决办法
同步元数据超时导致扩容coordinator 节点失败时,可在执行扩容安装时使用
“--timeout”参数设定更大的超时时间,gcadmin 默认的超时时间为5 分钟。
gcinstall.py 设定timeout 的时间单位为分钟(minute),help 信息如下所示:
Usage: gcinstall.py [options]
Options:
-h, --help
show this help message and exit
-U, --upgrade
upgrade install
--silent=SILENTCONFIG
use the supplied properties file for a 'silent'
install
--timeout=TIMEOUT
sync coordinator node metadata
timeout,unit(minute),default 15mins.
--backup_dir=BACKUP_DIR
The package path of backup file,default
/home/$dbaUser.

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
156