在 SAP HANA 中创建地理数据库

在 Standard 或 Advanced 许可等级下可用。

要在 SAP HANA 中创建地理数据库,请阅读先决条件,然后按照步骤安装并配置 SAP HANA,然后使用启用企业级地理数据库地理处理工具或运行 Python 脚本以在数据库中创建地理数据库。

如果在 ArcGIS Pro 3.3 中创建地理数据库,则地理数据库版本为 11.3.0。

完成先决条件

SAP HANA 中创建地理数据库之前,请执行以下操作:

  1. 请确认您想使用的 ArcGIS、SAP HANA 和操作系统组合相互兼容
  2. 下载连接到用于存储地理数据库的 SAP HANA 版本所需的 SAP HANA 客户端。
  3. 获取 ArcGIS Server 密钥代码文件(此文件在您授权 ArcGIS Server 时创建),然后将其放置在您可以通过用于创建地理数据库的 ArcGIS 客户端访问的位置。
  4. 安装并配置 SAP HANA

    您(或者 IT 部门或数据库管理员)必须安装并配置 SAP HANA 数据库管理系统,然后才能运行启用企业级地理数据库工具或脚本以在 SAP HANA 中创建地理数据库。 按照 SAP 提供的说明安装并配置 SAP HANA

  5. 安装并配置 ArcGIS 客户端。

    在创建地理数据库之前,必须配置 ArcGIS 客户端以连接到 SAP HANA。 可用于在 SAP HANA 中创建地理数据库的 ArcGIS 客户端为 ArcGIS Pro StandardArcGIS Pro AdvancedArcGIS Server(企业版)。 可以从上述任意客户端运行 Python 脚本,或者从 ArcGIS Pro 运行启用企业级地理数据库地理处理工具。 支持的最低软件版本为 ArcGIS Pro 2.1 和 ArcGIS Server 10.6。

    注:

    您需要一个 ArcGIS Server(企业版)密钥代码文件,以便在下一部分中授权地理数据库。 即使不在 Python 计算机上运行 ArcGIS Server 脚本来创建地理数据库,也必须安装和授权 ArcGIS Server 才能获取密钥代码文件。 可能需要将 ArcGIS Server 计算机中的文件复制到可使用地理处理工具或 Python 脚本访问的位置。

    请按照这些步骤安装并配置创建地理数据库所需的客户端。 如果您没有安装软件的权限,请让 IT 部门执行这些步骤。

    1. 安装 ArcGIS ProArcGIS Server

      按照软件安装指南中提供的说明进行操作。

    2. 在 ArcGIS 客户端计算机上安装并配置 SAP HANA ODBC 驱动程序。

      请按照以下适用于 ArcGIS 客户端的客户端配置步骤操作:

  6. 在数据库中创建 sde 用户。

    使用 SAP HANA 工具或 SQL 创建名为 sde 的标准数据库用户。 如果您不创建标准用户,则您必须至少授予 sde 用户地理数据库管理员所需的最低权限

    如果您不是 SAP HANA 管理员,请联系管理员创建 sde 用户并授予所需的权限。

  7. 以 sde 用户身份连接到数据库。

    您可以使用创建数据库连接地理处理工具或使用 ArcGIS Pro 中的新建数据库连接选项来连接到 SAP HANA 数据库。

    您必须将密码与连接一起保存,才能使用连接文件创建地理数据库。

    提示:

    下一部分中提供的示例 Python 脚本包括数据库连接的创建。 如果要更改并运行示例脚本,则可以跳过此手动步骤。

创建地理数据库

使用以下部分所述方法之一在 SAP HANA 数据库中创建地理数据库。

使用启用企业级地理数据库工具

如果您安装和配置了 ArcGIS Pro 以连接到 SAP HANA,则可以运行启用企业级地理数据库工具。 该工具使用您在第 4 部分中创建的数据库连接文件 (.sde) 来连接到数据库并创建地理数据库系统表、视图、函数和过程。

使用 Python 脚本

按照这些步骤从 ArcGIS ProArcGIS Server 计算机中运行 Python 脚本:

  1. 在 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)
  2. .py 扩展名保存该文件。
  3. 运行脚本,同时提供特定于您的站点的选项和信息。

    在以下示例中,文件 enable_gdb.py 针对名为 hana1 的 SAP HANA 数据源运行。 使用 sde 登录账户通过密码 M@kagdb4me 进行连接。

    enable_gdb.py hana1 M@kagdb4me

    可在 sde_setup.log 文件中查找创建地理数据库的相关消息,该文件是在为运行 Python 脚本的计算机上的 TEMPTMP 变量指定的目录中创建的。 如果在创建地理数据库时出现任何问题,可查看此文件以解决这些问题。

将在 SAP HANA 数据库中创建地理数据库。

接下来,创建用户和用户群组,并授予用户执行工作所需的权限

提示:

您可以使用创建数据库用户地理处理工具创建具有在数据库中创建对象权限的标准 SAP HANA 数据库用户。