可从 ArcGIS 客户端连接到 SAP HANA 数据库。为此,在 ArcGIS 客户端计算机上安装并配置 SAP HANA 客户端 ODBC 驱动程序。现有 SAP 用户可从“软件下载”下的 SAP 支持门户中获取 SAP HANA 客户端 ODBC 驱动程序。
配置好客户端后创建数据库连接文件。当将 SAP HANA 数据从 ArcMap 发布到 ArcGIS Server 站点时,使用站点注册数据库连接文件。
从 ArcMap 进行连接
要从 ArcMap 连接到 SAP HANA,请在所有 ArcMap 计算机上安装并配置 SAP HANA 客户端 ODBC 驱动程序,并创建从 ArcMap 到此数据库的连接。
安装和配置 SAP HANA 客户端 ODBC 驱动程序
根据以下步骤配置由 ArcMap 使用的 SAP HANA 客户端 ODBC 驱动程序:
- 从 SAP 支持门户下载受支持的 32 位 SAP HANA 客户端,然后将其安装在每台 ArcMap 计算机上。
- 使用 ODBC 数据源管理器(32 位)设置系统数据源名称 (DSN)。
您将使用该数据源名称从 ArcGIS 连接到数据库。配置所有连接到相同数据库的 SAP HANA ODBC 客户端时,要使用相同的名称。例如,在 ArcMap 计算机上配置 SAP HANA ODBC 驱动程序时所使用的数据源名称应该与在 ArcGIS Server 计算机上为 ODBC 驱动程序配置数据源名称时所使用的数据源名称相同。如果您不使用相同的名称,那么在发布时将会遇到问题,因为 ArcGIS 会对所发布数据的连接字符串和注册数据库的连接字符串进行比较。
- 在 ODBC 数据源管理器(32 位)中单击系统 DSN 选项卡,然后单击添加。
将打开创建新数据源对话框。
- 选择 SAP HANA ODBC 客户端,然后单击完成。
- 针对您的数据库,填充数据源名称、描述和服务器:端口信息。
- 单击设置以打开 ODBC 高级设置对话框,并向特殊属性设置部分添加以下键值:SPATIALTYPES=1。单击确定以应用更改,然后关闭 ODBC 高级设置对话框。
- 在 ODBC 客户端设置和 ODBC 数据源管理器上,单击确定以将它们关闭。
- 在 ODBC 数据源管理器(32 位)中单击系统 DSN 选项卡,然后单击添加。
- 将 SAP HANA 客户端安装目录添加到 Windows 系统 PATH 环境变量。
例如,如果将 SAP HANA 客户端 ODBC 驱动程序安装到 C:\Program Files\sap\hdbclient,请将其添加到 PATH 环境变量。
连接到数据库
使用数据库连接对话框或创建数据库连接地理处理工具来添加数据库连接。使用数据库连接对话框的步骤如下所述。
- 在 ArcMap 或 ArcCatalog 的目录树中,展开数据库连接,然后双击添加数据库连接。
- 从数据库平台下拉列表中选择 SAP HANA。
- 在数据源文本框中,键入为 ODBC 驱动程序所配置的数据源名称。
- 在身份验证类型中选择数据库身份验证。
- 在用户名和密码文本框中分别提供有效的用户名和密码。
- 如果您不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做有助于维护数据库的安全性。但是,如果执行此操作,则系统会在每次连接时提示您提供用户名和密码。另请注意,对于为 ArcGIS 服务提供数据库访问的连接文件,或希望使用目录搜索找到通过此连接文件访问的数据,都必须选中保存用户名和密码。
- 单击确定进行连接。
文件的创建位置为 \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog。
可以将连接移动到另一位置;只需确保需要建立连接的用户和应用程序有权读取放置连接文件的目录。
如果需要将此连接文件中的数据用作服务(如地理处理和地理编码服务)源,则可能需要将连接文件置于网络上的某个共享位置。有关共享连接文件的详细信息,请参阅使数据可供 ArcGIS Server 访问。
从 ArcGIS Server 进行连接
如果要从 ArcMap 发布到 ArcGIS Server 站点,并希望生成的服务使用 SAP HANA 中的数据,则需要在 ArcGIS Server 站点中的每台计算机上安装并配置 64 位 SAP HANA 客户端 ODBC 驱动程序并将数据库注册到该站点。
安装 SAP HANA 客户端并配置 ODBC 驱动程序
下载并安装 SAP HANA 客户端 ODBC 驱动程序,然后配置数据源名称。请遵循适用于您的 ArcGIS Server 操作系统(Windows 或 Linux)的步骤。
Windows 上的 ArcGIS Server
根据以下步骤配置每台 ArcGIS Server Windows 计算机上的 SAP HANA 客户端 ODBC 驱动程序:
- 从 SAP 支持门户下载受支持的 64 位 SAP HANA 客户端,然后将其安装在 ArcGIS Server 站点中的每台计算机上。
- 使用 ODBC 数据源管理器(64 位)设置系统数据源名称 (DSN)。
您将使用该数据源名称从 ArcGIS 连接到数据库。配置所有连接到相同数据库的 SAP HANA ODBC 客户端时,要使用相同的名称。例如,在 ArcMap 计算机上配置 SAP HANA 客户端 ODBC 驱动程序时所使用的数据源名称应该与在 ArcGIS Server 计算机上为 ODBC 驱动程序配置数据源名称时所使用的数据源名称相同。如果您不使用相同的名称,那么在发布时将会遇到问题,因为 ArcGIS 会对所发布数据的连接字符串和注册数据库的连接字符串进行比较。
- 在 ODBC 数据源管理器(64 位)中单击系统 DSN 选项卡,然后单击添加。
将打开创建新数据源对话框。
- 选择 SAP HANA ODBC 客户端,然后单击完成。
- 针对您的数据库,填充数据源名称、描述和服务器:端口信息。
- 单击设置以打开 ODBC 高级设置对话框,并向特殊属性设置部分添加以下键值:SPATIALTYPES=1。单击确定以应用更改,然后关闭 ODBC 高级设置对话框。
- 在 ODBC 客户端设置和 ODBC 数据源管理器上,单击确定以将它们关闭。
- 在 ODBC 数据源管理器(64 位)中单击系统 DSN 选项卡,然后单击添加。
- 将 SAP HANA 客户端安装目录添加到 Windows 系统 PATH 环境变量。
例如,如果将 SAP HANA 客户端 ODBC 驱动程序安装到 C:\Program Files\sap\hdbclient,请将其添加到 PATH 环境变量。
Linux 上的 ArcGIS Server
根据以下步骤配置每台 ArcGIS Server Linux 计算机上的 SAP HANA 客户端 ODBC 驱动程序:
- 从 SAP 支持门户下载受支持的 64 位 SAP HANA 客户端,然后将其安装在 ArcGIS Server 站点中的每台计算机上。
- 请在每个 ArcGIS Server 计算机上安装 Linux ODBC 驱动程序管理器(如未安装)。
- 编辑 SAP HANA ODBC 连接文件。文件名称必须为 .odbc.ini 和 .odbcinst.ini。
确保 .odbc.ini 文件中的等号 (=) 左右没有空格。例如,此条目的等号左右没有空格:
[<HANA_DNS>] Driver=/<usr>/sap/hdbclient/libodbcHDB.so Description=SAP Hana ODBC ServerNode=<HANA_Server_IP>:<SAP_HANA_port> UID=<user_name> Password=<user_password> SPATIALTYPES=1 [ODBC] IANAAppCodePage=4 InstallDir=/<usr>/sap/hdbclient Trace=0 TraceDll=/opt/odbc64v51/lib/odbctrac.so TraceFile=/tmp/odbctrace.out UseCursorLib=0
在 .odbcinst.ini 文件中,无需保留本示例中所示的空格:
Description =SAP HANA ODBC Driver64 = /<usr>/sap/hdbclient/libodbcHDB.so
- 设置 ODBC 数据源名称。请使用该名称从 ArcGIS 连接到数据库。
配置所有连接到此数据库的 SAP HANA ODBC 客户端时,请使用相同的 ODBC 数据源名称。例如,在 ArcGIS Desktop 计算机上配置的数据源名称要与在您的 ArcGIS Server 站点中的计算机上为 SAP HANA 客户端 ODBC 驱动程序设置的数据源名称相同。如果您不使用相同的名称,那么在发布时将会遇到问题,因为 ArcGIS 会对所发布数据的连接字符串和注册数据库的连接字符串进行比较。
更改 init_user_param.sh 脚本(仅针对 Linux)
安装数据库客户端文件后,更改与 ArcGIS Server 一同安装的 init_user_param.sh 脚本以引用客户端文件。可通过浏览至 <ArcGIS Server installation directory>/arcgis/server/usr 目录访问该脚本。
- 请确保 ArcGIS Server 每台计算机的安装程序所有者至少具有在数据库客户端库中读取和执行的权限。
- 在文本编辑器中打开 init_user_param.sh 脚本。
- 移除这些行中的注释标记 (#) 并将 <SAPHANA_InstallDir> 信息替换为安装 SAP HANA 客户端的目录路径:
export SAPHANADIR=<SAPHANA_InstallDir>/sap/hdbclient export LD_LIBRARY_PATH==$SAPHANADIR:$LD_LIBRARY_PATH
- 保存并关闭脚本。
- 在您为 ArcGIS Server 站点的每台计算机配置 init_user_param.sh 之后,请运行 startserver.sh 脚本来重启 ArcGIS Server。
./startserver.sh
注册数据库
如果要使用 SAP HANA 中的数据发布 web 服务,则应将该数据库注册到 ArcGIS Server 站点。请参阅 ArcGIS Server 帮助中的将 SAP HANA 注册到 ArcGIS Server 以获取相关说明。