IBM Cloud Docs
HANA

HANA

HANA 是面向列的内存关系数据库。

为 HANA 数据源配置以下详细信息:

注册数据源
字段 描述
显示名称 输入要显示的名称。
数据库名称 输入数据库名称。
主机名 输入主机名。
端口 请输入端口号。
用户名 输入用户名。
密码 输入密码。
端口已启用SSL 使用切换开关启用或禁用 SSL 连接。 如果启用,
i. 上传 SSL 证书(.pem、.crt、.cert 或 .cer)链接已启用。
ii. 单击上传 SSL 证书(.pem、.crt、.cert 或 .cer)链接。
iii. 浏览 SSL 证书并上传。
验证证书 使用切换开关验证主机返回的 SSL 证书是否可信。
连接状态 点击“测试连接”链接,测试数据源连接。 如果数据源连接成功,将显示一条成功消息。 在“自带JAR(BYOJ)”过程中,您必须添加一个JAR文件才能启用测试连接选项。
相关目录 选中复选框,将目录与数据源关联。 此目录会自动与您的数据源关联,并作为您与其中存储的数据的查询界面。
目录名称 输入目录名称。
创建 点击“创建”创建数据库。

自带 JAR (BYOJ) 流程

下面是将自己的 JAR 添加到 HANA 数据源的步骤:

  1. 登录 IBM® watsonx.data 实例。
  2. 从导航菜单进入“配置”页面,单击“驱动程序管理器”磁贴。
  3. 单击添加驱动程序。
  4. 上传 HANA JAR 并指定驱动程序版本。 目前,HANA 数据源只支持一个 JAR ngdbc-2.17.12.jar )。
  5. 单击“添加”。 成功添加驱动程序后,会对其进行一系列验证。 如果验证成功,则设置为“未激活”状态,否则设置为“失败”状态。
  6. 单击垂直省略号图标分配或删除驱动程序。
  7. 为发动机分配驱动程序:
    • 单击“分配”。
    • 选择一个或多个引擎来分配驱动程序。 一旦分配完毕,驱动程序将被设置为“激活”状态。
  8. 要从引擎中取消分配一个驱动程序,用户必须先引入另一个驱动程序。
  9. 单击保存并重新启动引擎。
  10. 在基础架构管理器中,将鼠标悬停在 HANA 数据源上,然后单击管理关联图标。
  11. 选择引擎以修改目录与之的关联。 停止对改装引擎的所有飞行中查询。
  12. 单击保存并重新启动引擎。

只有当驱动程序与引擎关联时,才能将 HANA 数据源链接到引擎。 一个引擎一次只能关联一个 HANA 驱动程序。

JAR 中的漏洞

作为 BYOJ 流程的一部分,用户可以上传所需的 JAR 文件。 如果在 JAR 中发现了漏洞,就会根据安全漏洞的严重程度为移除和清理活动设置一个宽限期,如下表所示:

脆弱性和宽限期
脆弱性的严重程度 宽限期(天数)
严重 30
60
120
180

宽限期从报告漏洞之日起计算,加上指定的宽限期。 在“驱动程序管理器”页面(针对管理员)以及其他地方,如“基础架构管理器”页面的“目录”部分和“数据管理器页面”的“相关目录”部分,都会向用户显示关于宽限期的多个警告。 例如,如果客户使用ngdbc-2.17.12.jar,并在 10 月1st发现关键漏洞,则清理流程将在 10 月31st立即开始。 此过程会从 bucket 和Prestopod 中删除驱动程序,从引擎中解除与目录的关联,在驱动程序管理器页面中解除与驱动程序的关联,并删除条目。

SQL 语句的限制

  • DROP TABLE 语句只有在目录中启用时才受支持。
  • 默认情况下,HANA 会创建大小为 1 的 VARCHAR 列。 因此,如果基础表列只定义了“VARCHAR 而没有指定大小(例如 VARCHAR(size)),那么”CTAS(创建表格为 Select)操作将不起作用。
  • For data source-based catalogs the CREATE SCHEMA, CREATE TABLE, DROP SCHEMA, DROP TABLE, DELETE, DROP VIEW, ALTER TABLE, and ALTER SCHEMA statements are not available in the 数据管理员 UI.

数据类型的限制

  • BLOB 和 "CLOB 数据类型仅支持 "CREATE 和 "SELECT 语句。
  • BINARY 数据类型仅支持 "SELECT 语句。
  • 用户界面显示的“BLOB 和”BINARY 数据类型的数据是Base64格式,而 presto-cli 显示的结果是十六进制格式。
  • 如果数据类型 "REAL 字段的小数部分有 6 位或更多数字,且这些数字主要为 0,则在查询时会对数值进行四舍五入。 据观察,四舍五入会根据数值的精度发生不同的变化。 例如,四舍五入到小数点后三位数的小数1.654是相同的。 另一个例子是10.890009和10.89000。 注意到10.89000四舍五入为10.89,而10.89009没有四舍五入。 这是一个固有的问题,因为二进制浮点格式在表示上有局限性。 当查询涉及排序时,这可能会产生重大影响。