studio查询中文显示二进制数据
GBase 8a datastudio工具递归查询使用start with的SYS_CONNECT_BY_PATH语法进行拼接时,显示为二进制数据,使用gccli客户端查询显示正常。下图表示为二进制显示。

1.报错样例
测试建表语句如下
gbase> show create table t2;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t2 | CREATE TABLE "t2" (
"id" int(11) DEFAULT NULL,
"name" varchar(20) DEFAULT NULL,
"pid" int(11) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace' |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (Elapsed: 00:00:00.00)
gbase> show create table t3;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t3 | CREATE TABLE "t3" (
"id" int(11) DEFAULT NULL,
"name" varchar(20) DEFAULT NULL,
"pid" int(11) DEFAULT NULL
) ENGINE=EXPRESS REPLICATED DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace' |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (Elapsed: 00:00:00.00)
插入测试数据
gbase> select * from t2;
+------+--------------+------+
| id | name | pid |
+------+--------------+------+
| 1 | 学校 | 0 |
| 2 | 信息学院 | 1 |
| 4 | 信息专业 | 2 |
+------+--------------+------+
3 rows in set (Elapsed: 00:00:00.00)
gbase> select * from t3;
+------+--------------+------+
| id | name | pid |
+------+--------------+------+
| 1 | 学校 | 0 |
| 2 | 信息学院 | 1 |
| 4 | 信息专业 | 2 |
+------+--------------+------+
3 rows in set (Elapsed: 00:00:00.00)
复现报错

2.解决办法
使用to_char语法对问题数据进行转换

3.问题原因
函数默认返回默认返回二进制数据,server端发现返回结果会直接转换显示出来,企业管理器或者java应用因为二进制显示的问题,外围包一个to_char函数就行。
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526