To connect to an SAP HANA database from ArcGIS clients, install and configure the SAP HANA client ODBC driver on the ArcGIS client machines.
Note:
SAP HANA clients are available to existing SAP users from the SAP Support Portal under Software Downloads.
After the ODBC driver is configured on all ArcGIS client machines, create a database connection file. To publish ArcGIS Server web services that reference the data in the SAP HANA database, register the database connection file with your ArcGIS Server sites.
Install and configure the SAP HANA client
Download a supported 64-bit SAP HANA client from the SAP Support Portal under Software Downloads, and install it on all ArcGIS Pro machines and machines in ArcGIS Server sites with which you will register a connection to an SAP HANA database.
Follow instructions provided by SAP HANA to install and configure the ODBC client.
Connect from ArcGIS Pro
To connect from an ArcGIS Pro project to SAP HANA, install the SAP HANA client ODBC driver on the ArcGIS Pro machine and create a database connection.
Create a database connection using the Database Connection dialog box or the Create Database Connection geoprocessing tool.
You can use the SAP HANA server name and the SQL port number to connect to the database if all of the following are true for your site:
- You're connecting to an on-premises installation of SAP HANA.
- You're connecting from a general release version of ArcGIS Pro.
- The number of characters in the SAP HANA server name and SQL port number of your SAP HANA server is fewer than 31.
If any of the above conditions are not true, you must configure a system data source name (DSN) for the SAP HANA client ODBC driver before you complete the following steps to connect to the database. See SAP HANA documentation for instructions to configure a data source name.
Follow the steps below to connect to SAP HANA using the Database Connection dialog box.
- Open the Catalog pane in ArcGIS Pro.
- Right-click Databases or a folder under Folders and click New Database Connection.
- Choose SAP HANA from the Database Platform drop-down list.
- In the Data source text box, type one of the following:
- The SAP HANA server name and the SQL port number used to communicate with the database separated by a colon (:). For example, if the fully qualified name of your SAP HANA server is myserver.network.com and SAP HANA communicates through port 98765, type myserver.network.com:98765. Alternatively, you can set a port number under Additional Properties. (See step 9 below.)
- The data source name you configured for the ODBC driver.
- Use database authentication for the authentication type.
Operating system authentication is not supported.
- Provide a valid database username and password in the User name and Password text boxes, respectively.
- If you prefer not to save your login information as part of the connection, uncheck Save user name and password.
Doing this can help maintain the security of the database. However, if you do this, you will be prompted to provide a username and password every time you connect from ArcGIS Pro.
Note:
Save user name and password must be checked for connection files that you register with an ArcGIS Server site or if you want to search to locate data accessed through this connection file.
- Type a name for the connection file in the Connection File Name field.
As you provide connection information, a default name is created. You can use the default, or type a more descriptive file name.
This is the name that will appear in the Catalog pane and view, and the name of the .sde file stored on disk.
- Optionally, expand the Additional Properties section to type a connection parameter and value.
Read the SAP HANA documentation for information about additional and optional connection parameters.
- Click Validate to confirm that the connection information is valid and the database is accessible.
If the database contains a geodatabase and the connection is valid, the Geodatabase Properties tab is now active.
- Click OK to create the connection file.
A database connection appears under Databases in the Catalog pane, and a connection file (.sde) is created in the ArcGIS Pro project directory.
Connect from ArcGIS Server
To publish SAP HANA data to a federated or stand-alone ArcGIS Server site and keep the data in SAP HANA, install a 64-bit SAP HANA client ODBC driver on each machine in the ArcGIS Server site and register a database connection file with the site.
Once you configure the machines in the ArcGIS Server site, create a database connection to the SAP HANA database and register the connection file with your ArcGIS Server site.
Install the SAP HANA on the ArcGIS Server machines (Linux)
Download the SAP HANA client ODBC driver. Place the client on each machine in the ArcGIS Server site, install it, and edit the ArcGIS Server init_user_param.sh script on each ArcGIS Server Linux machine.
- Download a supported 64-bit SAP HANA client from the SAP Support Portal, and install it on each machine in the ArcGIS Server site.
- Install a Linux ODBC driver manager on each ArcGIS Server machine if one is not already installed.
- Ensure that the ArcGIS Server installation owner on each machine has at least read and execute permissions on the database client libraries.
- Open the init_user_param.sh script in a text editor.
- Remove the comment mark (#) from the lines that begin with export and replace the <SAPHANA_InstallDir> information with the path to the directory where you installed the SAP HANA client:
# ----------------------------------------------------------------------- # Modify this section to configure a connection to SAP HANA. # # To make a connection, name the SAP HANA ODBC configuration files as .odbcinst.ini # and .odbc.ini and store them in the ArcGIS Server user $HOME directory. # # ----------------------------------------------------------------------- export SAPHANADIR=<SAPHANA_InstallDir>/sap/hdbclient export LD_LIBRARY_PATH=$SAPHANADIR:$LD_LIBRARY_PATH
- Save and close the script.
- For the changes you made in the init_user_param.sh file to take effect, you must restart ArcGIS Server.
To do this, run the stopserver.sh script, then run the startserver.sh script on each machine in the ArcGIS Server site.
./stopserver.sh
./startserver.sh
After you install the database client files, alter the init_user_param.sh script installed with ArcGIS Server to reference the client files. You can access this script by browsing to the <ArcGIS Server installation directory>/arcgis/server/usr directory.
You must update the init_user_param.sh on every machine in the ArcGIS Server site.
Once you have the SAP HANA client ODBC driver installed, you can create a database connection and register it with your ArcGIS Server site. If the following conditions exist, however, you must configure a data source name for the ODBC driver before you create and register a database connection:
- You're using SAP HANA 1.0 (any supported service pack release).
- You're connecting to SAP HANA Cloud.
- You're connecting to the database from ArcGIS Server 10.6 or earlier.
- The number of characters in the SAP HANA server name and SQL port number of your SAP HANA server exceeds 31.
Configure an ODBC data source name on Linux (if required)
If you require a data source name, follow these steps to configure a system data source name for the SAP HANA client ODBC driver on each ArcGIS Server Linux machine:
Note:
Use the same ODBC data source name when configuring all SAP HANA ODBC clients to that same database. For example, configure the data source name on your ArcGIS Pro machines to be the same as the data source name for the SAP HANA client ODBC driver on the machines in your ArcGIS Server sites. If you do not use the same name, you will encounter problems when publishing, because ArcGIS compares the connection strings of the data being published and the database that is registered.
- To configure an ODBC data source name, edit the SAP HANA ODBC connection files, .odbc.ini and .odbcinst.ini.
The files must be named .odbc.ini and .odbcinst.ini.
- Open the .odbc.ini file in a text editor and provide the information necessary to connect to your database.
Ensure there are no spaces around the equal signs (=) in the .odbc.ini file.
For example, this entry does not have spaces around the equal signs. The SPATIALTYPES=1 entry is included. This entry is not required to connect to supported versions of SAP HANA 2.0 or later.
[<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
- To connect to SAP HANA Cloud, use an encrypted connection, which requires that every machine in the ArcGIS Server site be able to reference the DigiCertGlobalRootCA.crt.pem file to verify the Certificate Authority (CA) that signs the SAP HANA Cloud certificate. Download this file from the SAP Help portal and place it in a directory on each of the machines in the site. Set Encrypt=Yes and set the sslTrustStore parameter to one of the following:
- Specify the location of the DigiCertGlobalRootCA.crt.pem file on the local machine as shown in the following entry:
[<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> ENCRYPT=Yes sslTrustStore=<path to DigiCertGlobalRootCA.crt.pem> [ODBC] IANAAppCodePage=4 InstallDir=/<usr>/sap/hdbclient Trace=0 TraceDll=/opt/odbc64v51/lib/odbctrac.so TraceFile=/tmp/odbctrace.out UseCursorLib=0
- Provide the certificate string from the DigiCertGlobalRootCA.crt.pem file. Open the DigiCertGlobalRootCA.crt.pem file, copy the contents, and paste it between the BEGIN CERTIFCATE and END CERTIFCATE notation in the .odbc.ini file as shown below:
[<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> ENCRYPT=Yes sslTrustStore=-----BEGIN CERTIFICATE-----<contents of the DigiCertGlobalRootCA.crt.pem file>-----END CERTIFICATE----- [ODBC] IANAAppCodePage=4 InstallDir=/<usr>/sap/hdbclient Trace=0 TraceDll=/opt/odbc64v51/lib/odbctrac.so TraceFile=/tmp/odbctrace.out UseCursorLib=0
- Specify the location of the DigiCertGlobalRootCA.crt.pem file on the local machine as shown in the following entry:
- Save and close the .odbc.ini file.
- Open the .odbcinst.ini file and edit it to include the ODBC driver path.
In the .odbcinst.ini file, the same sort of spacing is not required, as shown in this example:
Description =SAP HANA ODBC Driver64 = /<usr>/sap/hdbclient/libodbcHDB.so
- Save and close the .odbcinst.ini file.
Connect to the database
You can use the Database Connection dialog box in ArcGIS Pro to connect to the database, as described above.
Alternatively, you can run the Create Database Connection tool in ArcGIS Pro or use Python to run the Create Database Connection command from an ArcGIS Server machine to create a database connection file (.sde) that connects to the database.
You must save user information with the connection file to use the database connection file with ArcGIS Server.
Register the database
To publish web services using data in SAP HANA, create a database connection and register it with your ArcGIS Server sites.
To allow ArcGIS Server sites to access the data, use the database connection file you created to add a registered data store in ArcGIS Pro or add a data store item in the portal.