使用 DBeaver 连接 OB Oracle 数据库

前言

  • OB MySQL 兼容 MySQL 协议和驱动,因此可以直接使用 MySQL 生态的数据库开发工具,比如 MySQL ClientNavicatSequel Pro 等,唯一需要注意的是 OB MySQL 的用户名格式为: {用户名}@{租户名},表明使用指定租户下的指定用户进行数据库连接。

  • Oracle 是商业闭源数据库,其数据库协议并未对外公开,因此 OB Oracle 仅在数据库行为和 SQL 语法等方面与 Oracle 保持兼容,无法直接使用基于 Oracle 驱动的 SQL DeveloperNavicat 工具进行连接。

  • 目前官方推荐使用 OBClientODC 工具来连接 OB Oracle,实际上基于 DBeaver 强大的自定义数据库驱动能力,也能实现 DBeaver 连接 OB Oracle 数据库。

配置流程

软件下载

  • 安装完后打开 数据库->驱动管理器 ,可以看到已经有了一个 OceanBase 驱动,说明 DBeaver 官方集成并支持 OB 数据库连接,只不过这个驱动只支持 OB MySQL。因此我们需要手动新建 OB Oracle 的驱动。

新建 OB Oracle 驱动

  • 功能入口: 数据库->驱动管理器->新建
  • 先设置库信息: 添加文件 → 选中下载的驱动文件 → 找到类 → 加载驱动类。

  • 再设置驱动的基本信息和连接信息,其中类名为 com.alipay.oceanbase.jdbc.Driver ,URL 模板为 jdbc:oceanbase://<server>:<port>/<database>

:loudspeaker: 需要注意: 驱动类型需要选 Generic,不能选 OceanBase (那是给 OB MySQL 模式用的)。

新建数据库连接

  • 功能入口: 数据库->新建数据库连接

  • 选择刚刚新建的 OceanBase Oracle 驱动。

  • 设置 JDBC 连接信息,这里只要设置用户名和密码。

  • 实际的连接参数需要在 驱动属性 中设置,包括 DANAME、HOST 和 PORT。由于 Oracle 没有数据库的概念,因此这里的 DANAME 填写 SYS 即可。

  • 连接测试成功:

  • 连接新建成功:

成功执行 SQL :clap:t2:

参考

1 个赞

:smiley:给大佬点赞,这个非常详细了 :wave:

DBeaver用户+1

太棒了,点赞点赞

mark了

大佬大佬。

按楼主的方式连接后,dbdaver 中打开表声明,查看表结构时会报错,dbdaver 23.3.5 不知道有没有解决办法

perfect

更新一下试试

必须点赞,我现在也在用dbeaver

dbeaver 更新到最新版24.0.0 依然存在问题,声明中无法查看字段注释,外键,索引等信息,报错
ORA-00900: You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near ‘KEYS FROM “xxxxx” FROM “xxxxx”’ at line 1

mark一下

我也mark一下 :yum:

mark