返回首页

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

更新日期:2024年09月11日

Invalid qualifier start or end code
Interval 对象的起始值或结束值不正确。
请参阅 INTERVAL 数据类型 以获取正确的值。

文件路径
使用unixODBC 提供的命令“odbcinst -j”可以查找到odbc.ini 的路径。如下所示:


GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1145
# odbcinst -j
unixODBC 2.2.14
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
修改文件
在/etc/odbc.ini 文件中加入:
[test]
Driver = GBase 8a ODBC 8.3 Driver
DATABASE = test
DESCRIPTION = GBase 8a ODBC 8.3 Driver DSN
SERVER = 192.168.111.96
UID = root
PASSWORD = 1

包围符自转义规则
进入转义处理模式条件
前提:通过FIELDS ESCAPED BY '' 强制指定转义符为空,通过
DOUBLE_ENCLOSED BY 关键字指定了字段包围符,且该字段满足使用包围符
的规则。
对字符的转义方法
当进入该转义模式后,如果该字段满足使用包围符的规则(包括正常字段和通过
NULL_VALUE 参数设置的NULL 值),则该字段中所有与包围符相同的字符采
用双写的方式进行转义。如:
CREATE TABLE "aa" ("n" int(11) DEFAULT NULL,
"v" varchar(5)
DEFAULT NULL);
INSERT INTO aa VALUES(10, NULL), (11, ' 数据a'), (NULL, 'bbb'), (12,
'a"b"c');
gbase> select * from aa into outfile '/home/davies/out.txt' fields escaped by ''
terminated by '|' optionally double_enclosed by '"' null_value 'gg"gg';
Query OK, 4 rows affected (Elapsed: 00:00:00.03)
导出的文件为:
$ cat out.txt
10|"gg""gg"
11|"数据a"
gg"gg|"bbb"

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1235
12|"a""b""c"
可见,由于设置了OPTIONALLY 关键字,故非字符串类型数据不需要加包围符,
所以即使该列中存在NULL 值,也通过NULL_VALUE 设置了非空NULL 值,也
不会对该数据中的包围符双写转义;仅仅会对需要加包围符的字段采用双写的方
式转义。