Skip to content

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

@LordofAvernus

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions