在 SAP HANA 中创建地理数据库
在 Standard 或 Advanced 许可等级下可用。
要在 SAP HANA 中创建地理数据库,请阅读先决条件,然后按照步骤安装并配置 SAP HANA,然后使用启用企业级地理数据库地理处理工具或运行 Python 脚本以在数据库中创建地理数据库。
如果使用 ArcGIS Pro 3.7 创建地理数据库,则地理数据库版本为 12.1.0.x。
完成先决条件
在 SAP HANA 中创建地理数据库之前,请执行以下操作:
下载连接用来存储地理数据库版本所需的 SAP HANA 客户端。
获取 ArcGIS Server 密钥代码文件(此文件在您授权 ArcGIS Server 时创建),然后将其放置在您可以通过用于创建地理数据库的 ArcGIS 客户端访问的位置。
安装并配置 SAP HANA。
您(或者 IT 部门或数据库管理员)必须安装并配置 SAP HANA 数据库管理系统,然后才能运行启用企业级地理数据库工具或脚本以在 SAP HANA 中创建地理数据库。 按照 SAP 提供的说明安装并配置 SAP HANA。
安装并配置 ArcGIS 客户端。
在创建地理数据库之前,必须配置 ArcGIS 客户端以连接到 SAP HANA。 在 SAP HANA 中创建地理数据库使用的 ArcGIS 客户端为 ArcGIS Pro Standard、ArcGIS Pro Advanced 或 ArcGIS Server(企业版)。 可以从上述任意客户端运行 Python 脚本,或者从 ArcGIS Pro 运行启用企业级地理数据库地理处理工具。 支持的最低软件版本为 ArcGIS Pro 2.1 和 ArcGIS Server 10.6。
注:
您需要一个 ArcGIS Server(企业版)密钥代码文件,以便在下一部分中授权地理数据库。 即使不在 ArcGIS Server 计算机上运行 Python 脚本来创建地理数据库,也必须安装并授权 ArcGIS Server 才能获取密钥代码文件。 可能需要将 ArcGIS Server 计算机中的文件复制到可使用地理处理工具或 Python 脚本访问的位置。
请按照这些步骤安装并配置创建地理数据库所需的客户端。 如果您没有安装软件的权限,请让 IT 部门执行这些步骤。
安装 ArcGIS Pro 或 ArcGIS Server。
按照软件安装指南中提供的说明进行操作。
在 ArcGIS 客户端计算机上安装并配置 SAP HANA ODBC 驱动程序。
请按照以下适用于 ArcGIS 客户端的客户端配置步骤操作:
安装 SAP HANA 客户端,以便与 ArcGIS Pro 配合使用。
安装 SAP HANA 客户端 ODBC 驱动程序,以便与 ArcGIS Server (Microsoft Windows) 配合使用。
在数据库中创建 sde 用户。
使用 SAP HANA 工具或 SQL 创建名为 sde 的标准数据库用户。 如果您不创建标准用户,则您必须至少授予 sde 用户地理数据库管理员所需的最低权限。
如果您不是 SAP HANA 管理员,请联系管理员创建 sde 用户并授予所需的权限。
以 sde 用户身份连接到数据库。
您可以使用创建数据库连接地理处理工具或使用 ArcGIS Pro 中的新建数据库连接选项来连接到 SAP HANA 数据库。
您必须将密码与连接一起保存,才能使用连接文件创建地理数据库。
提示:
下一部分中提供的示例 Python 脚本包括数据库连接的创建。 如果要更改并运行示例脚本,则可以跳过此手动步骤。
创建地理数据库
使用以下部分所述方法之一在 SAP HANA 数据库中创建地理数据库。
使用“启用企业级地理数据库”工具
如果您安装和配置了 ArcGIS Pro 以连接到 SAP HANA,则可以运行启用企业级地理数据库工具。 该工具使用您在前一部分的第 7 步中创建的数据库连接文件 (.sde) 来连接到数据库并创建地理数据库系统表、视图、函数和过程。 有关打开地理处理工具的常规信息,请参阅查找地理处理工具。
使用 Python 脚本
请按照以下步骤在 ArcGIS Pro 或 ArcGIS Server 计算机上运行 Python 脚本。
提示:
有关从 ArcGIS Server 机器运行 Python 的信息,请参阅 ArcGIS Server 和 ArcPy。
在 ArcGIS 客户端计算机上创建文本文件,然后将以下脚本复制到该文件中。 更改存储 ArcGIS Server 密钥代码文件的本地计算机存储位置。
import arcpy, os, sys, tempfile if len(sys.argv) != 3: print ("usage: enable_gdb.py database_dsn sde_pwd") sys.exit(3) path = tempfile.gettempdir() if os.path.exists(path + r'\enable_gdb.sde'): os.remove(path + r'\enable_gdb.sde') arcpy.management.CreateDatabaseConnection( path ,r'enable_gdb.sde', 'SAP HANA', sys.argv[1], 'DATABASE_AUTH', 'sde',sys.argv[2], 'SAVE_USERNAME' ) arcpy.management.EnableEnterpriseGeodatabase( path + r'\enable_gdb.sde', r"\\mykeycodes\Server_Ent_Adv") if os.path.exists(path + r'\enable_gdb.sde'): os.remove(path + r'\enable_gdb.sde') sys.exit(0)以
.py扩展名保存该文件。运行脚本,同时提供特定于您的站点的选项和信息。
在以下示例中,文件
enable_gdb.py针对名为 hana1 的 SAP HANA 数据源运行。 使用 sde 登录账户通过密码 M@kagdb4me 进行连接。enable_gdb.py hana1 M@kagdb4me可在
sde_setup.log文件中查找创建地理数据库的相关消息,该文件是在为运行 Python 脚本的计算机上的TEMP或TMP变量指定的目录中创建的。 如果在创建地理数据库时出现任何问题,可查看此文件以解决这些问题。
地理数据库是在 SAP HANA 数据库中创建的。
接下来,创建用户和用户群组,并授予用户执行工作所需的权限。
提示:
您可以使用创建数据库用户地理处理工具创建具有在数据库中创建对象权限的标准 SAP HANA 数据库用户。