OB社区版本,使用JDBC获取表信息备注错误

【 使用环境 】测试环境
【 OB社区版 】
【 使用版本 】5.7.25-OceanBase_CE-v4.3.5.5
【问题描述】java测试获取表信息时,表备注返回错误
【复现路径】String username = “root@test”;
String url = “jdbc:oceanbase://127.0.0.1:2881/test2?tenant=test&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true”;
String driver = “com.oceanbase.jdbc.Driver”;
Connection connection = DbConnection.getConnection(driver, url, username, password);
if (connection == null) {
System.out.println(“连接失败”);
return;
}
DatabaseMetaData metaData = connection.getMetaData();
String[] tableTypes = new String[]{“TABLE”};
ResultSet rs = metaData.getTables(connection.getCatalog(), null, null, tableTypes);
while (rs.next()) {
System.out.println(rs.getString(“TABLE_NAME”));
System.out.println(rs.getString(“REMARKS”));
}
返回数据如下:
person
[B@3712b94
student
[B@2d8f65a4

数据库表SQL
CREATE TABLE person (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
name varchar(255) DEFAULT NULL COMMENT ‘名称’,
age int(11) DEFAULT NULL COMMENT ‘年龄age’,
PRIMARY KEY (id)
) ORGANIZATION INDEX AUTO_INCREMENT = 133 AUTO_INCREMENT_MODE = ‘ORDER’ DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = ‘zstd_1.3.8’ REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE ENABLE_MACRO_BLOCK_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 COMMENT = ‘用户信息表’;

1 个赞
SELECT TABLE_NAME, TABLE_COMMENT 
FROM information_schema.tables 
WHERE TABLE_SCHEMA = 'test2' and table_name='person'
  AND TABLE_TYPE = 'BASE TABLE';

这个查询下

1 个赞

感谢您的回复。
这个问题debug走了一下,如图所示。

在适配jdbc规范的时候是否考虑修改一下。

2 个赞

哪个驱动版本?

1 个赞
com.oceanbase oceanbase-client 2.4.17

驱动问题?

可以添加&useInformationSchema=true 绕过