Skip to Content

This blog is a continuation of the previous blog which focused on connecting an on-premise Predictive Analytics software with HANA database on the Cloud Platform. Python is sometime used to implement data science in conjunction with Predictive analytics.

In this blog, I will show you how to connect a Python program to a HANA database available on SAP Cloud Platform. There are several blogs and tutorials which show how to connect python to a HANA database on-premise. The process to connect to the database is slightly different it is on SAP Cloud Platform.

I am going to use the same “hcpta” HANA database used in the previous blog.

I have setup a Cloud Connector which setup a connection to the account in Cloud Platform. I have also registered a service channel for hcpta database on port 39815

I have installed Python on my laptop .

To connect to HANA database, I am using a python client which is available in github.

The installation steps are documented and you can follow them to prepare python.

The github has got sample code which explains how to use each of the methods.

Below is a sample program which creates a table and inserts a record. I have used localhost as the Cloud Connector is also installed on the same laptop.

import pyhdb

connection = pyhdb.connect(
    host="localhost",
    port=39815,
    user="<HANA_DB_USER>",
    password="<HANA_DB_PASSWORD>"
)
cursor = connection.cursor()
cursor.execute('CREATE TABLE PYHDB_TABLE("NAMES" VARCHAR (255) null)')
print ("Table PYHDB_TAB created ")
cursor.execute("INSERT INTO PYHDB_TABLE VALUES('Hello Python')")
print ("Record Inserted into PYHDB_TABLE")
connection.commit()
connection.close()

After executing this script, I could see the table created in my HANA database in the Cloud Platform.

Below is the new table which is created in my schema along with the record.

This shows how you can connect Python to a HANA database on Cloud Platform and perform DDL/DML operations. Hope you found this useful.

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply