Skip to content

feat: ODC 添加 SAP HANA 数据库支持 #4506

Description

@LordofAvernus

需求描述

在 ODC 工作台中添加 SAP HANA 数据库的完整支持,以 SQL Server 在 ODC 中的已有能力为对齐基准。

功能范围

后端

  • 数据源连接:新增 connect-plugin-hana 插件,支持 HANA JDBC 连接(jdbc:sap://host:port/),驱动类 com.sap.db.jdbc.Driver
  • 元数据浏览:新增 schema-plugin-hana 插件,支持 Schema/表/视图/列/索引/存储过程/函数/序列/触发器的元数据查询
  • SQL 执行:SQL Console 支持 HANA SQL 语法,复用默认分号切分逻辑
  • 会话管理:通过 SYS.M_CONNECTIONS 列出会话,ALTER SYSTEM DISCONNECT SESSION 终止会话
  • DDL 查看:通过 CALL SYS.GET_OBJECT_DEFINITION(?, ?) 获取表/视图/存储过程等对象的 DDL
  • 表结构编辑:支持 HANA 的 CREATE/ALTER/DROP TABLE DDL 生成(列式/行式存储)
  • 枚举注册DialectType.HANAConnectType.HANAOdcConstants 常量
  • db-browser 工厂注册:所有 AbstractDBBrowserFactory 子类添加 buildForHana() 分支

前端

  • 数据源类型注册IDataSourceType.HANA,默认端口 30015
  • Feature Flags:sqlConsole/objectTree/tableDesign/sessionManage 等功能开关配置
  • 全局搜索objectTypeConfig 注册 ConnectType.HANA

技术要点

  • HANA 探活 SQL:SELECT 1 FROM DUMMY(非 SELECT 1
  • HANA 标识符引用:双引号,未加引号标识符强制转大写
  • HANA 是二级命名结构(Schema.Object),默认 Schema 为用户名大写
  • JDBC 驱动:com.sap.cloud.db.jdbc:ngdbc:2.20.11

参考实现

  • connect-plugin-sqlserver / schema-plugin-sqlserver

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions