本文主要介绍Python中,连接配置SAP HANA数据库的方法,包括hdbcli依赖的安装和虚拟环境的安装配置,以及连接的示例代码。

1、安装hdbcli客户端

建议使用虚拟环境来本地化Python运行时环境。如果您选择使用虚拟环境,则可以在此处找到有关使用虚拟环境的指南。

创建一个虚拟环境以本地化依赖关系

python -m venv venv

激活虚拟环境:

source ./venv/bin/activate

激活虚拟环境后,您应该(venv)在bash shell中看到Linux用户的前面。例如:

wyge@ubuntu:~/tutorials/python$ source ./venv/bin/activate
(venv) wyge@ubuntu: ~/tutorials/python$

如使用的是Windows:

.\venv\Scripts\activate

PS C:\Users\513593\test\venv> .\Scripts\activate
(venv )PS C:\Users\513593\test\venv>

创建一个依赖文件并命名requirements.txt:

hdbcli
### add other dependencies below ###

安装依赖项:

pip install -r requirements.txt

依赖关系将保存在您的venv目录中。

安装客户端成功后,看到以下内容:

Installing collected packages: hdbcli
Successfully installed hdbcli-2.x.xxx

2、连接示例代码

#connect.py
#Import your dependencies
from hdbcli import dbapi
#Initialize your connection
conn = dbapi.connect(
    address='<Database host>',
    port='<Database port>',
    user='<Database user>',
    password='<Password>'
)
#If no errors, print connected
print('connected')
### rest of your code here ###

使用以下命令运行文件:

python3 connect.py

如果使用的连接成功会输出:

connected

将连接信息写在环境变量中的配置代码:

export HOST="<Database Host>"
export PORT="<Database Port>"
export DB_USER="<Database User>"
export DB_PW="<Password>"
from hdbcli import dbapi
import os
conn = dbapi.connect(
    address=os.environ['HOST'],
    port=os.environ['PORT'],
    user=os.environ['DB_USER'],
    password=os.environ['DB_PW']
)
print('connected')
#test select from dummy table
cursor = conn.cursor()
cursor.execute("SELECT * FROM DUMMY")
for result in cursor:
    print(result)

参考文档https://developers.sap.com/tutorials/hana-python-basic-connection.html