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.
Install 32- and 64-bit applications and clients on separate machines to avoid issues that arise when different versions of the same drivers are installed on the same machine.
Once the ODBC driver is configured on all your 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.
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.
Install the SAP HANA client
Follow these steps to download the SAP HANA client ODBC driver and configure the path variable on your client machine:
- Download a supported 64-bit SAP HANA client from the SAP Support Portal under Software Downloads, and install it on all ArcGIS Pro machines.
- Add the SAP HANA client installation directory to the Windows system PATH environment variable.
For example, if you installed the SAP HANA client ODBC driver to C:\Program Files\sap\hdbclient, add that to the PATH environment variable.
Connect to the database
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:
- Your SAP HANA database is a supported release, 2.0 SPS2 or later.
- You're connecting to an on-premises installation of SAP HANA.
- You're connecting from ArcGIS Pro 2.2 or later.
- 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 met, you must configure a system data source name (DSN) for the SAP HANA client ODBC driver before you complete the following steps to connect from ArcGIS Pro.
Create a database connection using the Database Connection dialog box or the Create Database Connection geoprocessing tool.
The following steps describe using the Database Connection dialog box to connect to SAP HANA:
- Open the Catalog pane in ArcGIS Pro.
- Right-click Databases 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.
- The data source name you configured for the ODBC driver.
- Choose 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.
- 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.
You can rename the file by typing a new name in the Catalog pane and pressing Enter.
Configure a data source name (if required)
If any of the following conditions are true, you must configure a system data source name (DSN) for the SAP HANA client ODBC driver to connect to the database:
- You're using SAP HANA 1.0 (any supported service pack release).
- You're connecting to SAP HANA Cloud.
- You're using ArcGIS Pro 2.1 or earlier.
- The number of characters in the SAP HANA server name and SQL port number of your SAP HANA server exceeds 31.
If these conditions do not exist at your site, you can still configure a data source name to connect to SAP HANA, but it is not required.
Follow these steps to configure a data source name for an SAP HANA database:
- Open the ODBC Data Source Administrator (64 bit) on your client machine.
Note:
Use the same name when configuring all SAP HANA ODBC clients to that same database. For example, use the same data source name when you configure the SAP HANA client ODBC driver on your ArcGIS Pro machines as you use when you configure the data source name for the ODBC driver on your ArcGIS Server machines. 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.
- Click the System DSN tab in the ODBC Data Source Administrator (64 bit) and click Add.
- Choose the SAP HANA ODBC client and click Finish.
- Provide a name, description, and SQL port number for the data source.
- In the TLS/SSL section, check Connect to the database using TLS/SSL and Validate the TLS/SSL certificate.
- Open the advanced settings for the ODBC client and add the property SPATIALTYPES and set its value to 1.
Note:
You can skip this step if you are using ArcGIS Pro 2.2 or later with a supported version of SAP HANA 2.0.
- Click OK on the ODBC client setup and ODBC Data Source Administrator to close them.
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. Follow the instructions specific to the operating system where ArcGIS Server is installed.
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 (Microsoft Windows)
Download the SAP HANA client ODBC driver and install it on each machine in the ArcGIS Server site.
Install the SAP HANA client ODBC driver on each ArcGIS Server Windows 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.
- Add the SAP HANA client installation directory to the Windows system PATH environment variable.
For example, if you installed the SAP HANA client ODBC driver to C:\Program Files\sap\hdbclient, add that to the PATH environment variable.
Once you have the SAP HANA client ODBC driver installed, you can proceed with registering a database connection with your ArcGIS Server site. If the following conditions exist, however, you must configure a data source name for the ODBC driver before you register a database connection:
- You're using SAP HANA 1.0 (any supported service pack release).
- You're connecting to a 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 Windows (if required)
If you require a data source name, follow these steps to configure a system data source name (DSN) for the SAP HANA client ODBC driver on each ArcGIS Server Windows machine:
Note:
Use the data source name when you connect from ArcGIS to the database. Use the same name when configuring all SAP HANA ODBC clients to that same database. For example, use the same data source name when you configure the SAP HANA client ODBC driver on your ArcGIS Pro machines as you use when you configure the data source name for the ODBC driver on your ArcGIS Server machines. 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.
- Open the ODBC Data Source Administrator (64 bit).
- Click the System DSN tab in the ODBC Data Source Administrator (64 bit) and click Add.
The Create New Data Source dialog box appears.
- Choose the SAP HANA ODBC client and click Finish.
- Populate the Data Source Name, Description, and Server:Port information for your database.
- In the TLS/SSL section, check Connect to the database using TLS/SSL and Validate the TLS/SSL certificate.
- Open the advanced ODBC setup dialog box and add the following key value to the Special property settings section: SPATIALTYPES=1. Click OK to apply the changes and close the ODBC Advanced Setup dialog box.
Note:
You can skip this step if you are using ArcGIS Server with a supported version of SAP HANA 2.0 or later.
- Click OK on the ODBC client setup and ODBC Data Source Administrator to close them.
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, you must use an encrypted connection. This 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 the ArcGIS Server site 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.