Skip to content

[Database]: 连接至Oceanbase-4.6.0时报错 #121

Closed

Description

@chenxj007

提交前检查 / Checklist

  • 我已搜索已有 Issue,未发现相同请求。/ I searched existing issues and found no duplicate.
  • 我已检查现有内置与扩展驱动,确认所需数据库或能力尚未支持。/ I checked the existing built-in and extension drivers and confirmed the requested database or capability is not supported.
  • 我不会提交密码、私钥、Token、连接串或业务数据。/ I will not submit passwords, private keys, tokens, connection strings, or business data.

请求类型 / Request type

新数据库或新驱动 / New database or driver

数据库 / Database

其他或尚未支持的数据库 / Other or not yet supported

数据库版本与兼容模式 / Database version and compatibility mode

OceanBase 4.6.0 (MySQL Mode)

Navop 版本 / Navop version

0.12.1

使用场景与当前限制 / Use case and current limitation

在创建Oceanbase的连接时,Host、Port、Username、Password等信息输入后,Database输入:test,Protocol选择“MySQL”,Workspace选择已创建的一个,然后点击”Test“,无法连接到Oceanbase服务器端,报错如下:
Test connection failed: external driver error: Error 1193 (HY000): Unknow system variable 'protocol' (protocol code-33001); SQLSTATE: HY000, vendor code: 1193, extra: {"chain":[Error 1193 (HY000): Unknown system variable 'protocol'"],"server_message":"Unknown system variable 'protocol'","source":"Error 1193 (HY000): Unknown system variable 'protocol'"}

期望支持范围 / Expected support

期望可以正常连接至Oceanbase 4.6.0,以及可以做一些常规的数据库管理(增、删、改、查、导出等)。

官方文档与补充信息 / Official documentation and additional context

No response

Activity

  1. feigeCode commented on Aug 29, 2026

    @feigeCode
    Owner

    下载最新版本驱动看看

  2. chenxj007 commented on Aug 31, 2026

    @chenxj007
    Author

    使用最新的驱动可以连接上了,但是在做select查询时,Result中显示的是Binary的数据,不能显示数据明文。如下图所示:

    Image
  3. feigeCode commented on Aug 31, 2026

    @feigeCode
    Owner

    能看一下是什么数据类型吗,可能被识别为了二进制

  4. chenxj007 commented on Sep 1, 2026

    @chenxj007
    Author

    数据类型是varchar,但可能和数据类型没有关系。
    运行“show tables;” 显示的也是Binary的信息。另外,运行“DESC user;”时,没有数据输出,仅显示“0 rows affected”,正常应该显示user表的表结构的。
    似乎是navop与服务器端的通信有加密或有某种干扰,客户端默认支持“--skip-ssl”参数吗?通过mysql client的命令行连接时,增加了“--skip-ssl”参数: mysql --skip-ssl -h ......

    Image Image Image
  5. feigeCode commented on Sep 1, 2026

    @feigeCode
    Owner
  6. chenxj007 commented on Sep 3, 2026

    @chenxj007
    Author

    谢谢,以上问题已经修复。
    又发现了一个新问题,当Oceanbase数据表字段的数据类型为“bigint”(例如:bigint(20))或“double”时,select的结果中,仍显示为Binary的数据,不能显示正确的值。

    Image
  7. feigeCode commented on Sep 5, 2026

    @feigeCode
    Owner

    已修复,发布了 oceanbase 0.1.11。

    根因:MySQL 文本协议下驱动把 BIGINT/DOUBLE 等数值列也扫描为字节串,结果编码时数值家族没有按列声明类型还原,被当作二进制 base64 输出。

    修复:

    • bigint/int/double/float 等数值列按声明类型还原为数值显示(含 unsigned bigint、超出精度时保留无损十进制文本)
    • 顺带修正 tinyint(1) 识别为布尔值

    更新驱动后再试一下 bigint/double 列的 select。

  8. added a commit that references this issue on Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions