如何通过命令行或 GUI 重新创建 (export/import) Hana DB structure/data?

How to recreate (export/import) Hana DB structure/data via command line or GUI?

我们是 Hana DB 的新手,开始为采用 SAP B1 和 Hana DB 的现有客户构建我们现有应用程序的 Hana DB 连接器。我们的应用程序只需要连接到 Hana 数据库并执行一些基本的 SQL SELECT 查询。我们想根据客户的新设置在我们的开发测试环境中重建 Hana DB 数据结构模式(即表、字段等),以便我们可以在我们这边构建和调整这些查询。

是否有推荐的方法来快速导出或转储 Hana DB,或者只是结构,或者结构加上数据库中的当前测试数据集,然后在我们这边重新创建?

作为 MySQL 中的示例,它会像这样简单:

  1. 测试客户方:mysqldump -h host -uuser -p database_name > database_name.sql
  2. 我们的开发测试方:mysqladmin -h host -uuser -p create database_name
  3. 我们的开发测试方:mysql -h host -uuser -p database_name < database_name.sql

对于 Hana 数据库,是否有与上述步骤等效的步骤?

是否已经在 Windows 机器上安装了与上述工具等效的 GUI 工具和命令行工具?

如果我们的测试客户是 运行 Windows 并且我们打算在 Linux 上设置我们的 DevTest Hana DB,那么 export/import 的工具和语法是否相同?

如果我们打算将来自 Docker 商店的 SAP Hana Express Edition 用于我们的开发测试环境,并且我们的客户可能使用的是完整的 SAP Hana 版本,是否会有任何差异。数据库结构和 commands/tools 和语法是否都一样?

根据我使用 HANA 的经验,以下是对您的一些问题的回答。

  • GUI 端,我们曾经使用 Eclipse 导出和导入 HANA 模式。您可以选择仅导出数据库结构或结构 + 数据。此视图可通过安装 SAP Cloud Platform 工具获得(参见 https://tools.hana.ondemand.com/#cloud);然后将允许数据库浏览的透视图安装到 Eclipse 中,称为 SAP HANA 管理控制台。通过右键单击您的架构,您可以使用 import/export 个选项。 Eclipse 是跨平台的,所以我想这将是 Windows 和 Linux 的一个选项。

this article.

中描述了这种方法

令人惊讶的是,这是我们唯一的选择。我们不同的环境必须让它们的 HANA 模式在结构和测试数据中同步,但我们从未找到任何自动化这些步骤的方法。未来对 SCP 的增强是否允许 Jenkins 和 HANA 数据库之间的集成?时间会证明一切。

SAP 还提供了 SAP HANA Studio,这是一款桌面软件,您可以从 SAP 商店下载,但它只是 Eclipse 的改进版本,并没有提供额外的功能。

注意:在我们的案例中,我们的 HANA 数据库托管在 SAP Cloud Platform 上。如果数据库未托管在 SCP 上,使用 SCP SDK 插件的 Eclipse 方法是否有效?我想会,但无法证实。

  • 命令行端,虽然我从来没有这样做过,但我发现this link which says you can use a tool called HDBSQL and then simply call IMPORT/EXPORT/IMPORT FROM命令可以导出目录对象;看起来,那边有很多选择。 HANA 文档对这些命令非常好。

  • 关于the differences between Express and Developer editions of HANA,好像很多都是跟内存和存储有关的,还有一些只有开发版才有的功能,比如智能数据流。所以是的,模式结构、命令和工具似乎将是相同的。我不会担心两个版本之间的兼容性问题;它们似乎仅在可用选项范围内有所不同。