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