在 python 中无法使用 sqlalchemy 连接到 SAP Hana

Can´t connecto to SAP Hana with sqlalchemy in python

所以我正在尝试使用 SQLAlchemy 建立从 Python 到 SAP HANA 的简单连接,但我遇到了这个错误:

虽然我的代码是这样的:

from sqlalchemy import create_engine, select, Column, Integer, String, Float, Sequence, text
from sqlalchemy.orm import declarative_base, Session, sessionmaker

engine = engine = create_engine('hana+hdbcli:///username:password@host/tenant_db_name', echo=True, future=True) 
print("connected")
with engine.connect() as conn:
    result = conn.execute(text("select 'hello world'"))
    print(result.all())

给我的错误是正确的,我的租户数据库在 30013 中没有,我在 32015 中有。

我该如何解决这个问题?

您可以直接在连接字符串中给出端口。我正在使用的连接字符串通常如下所示:

connection_string = 'hana://%s:%s@%s:%s' % (hdb_user, hdb_password, hdb_host, hdb_port)

您可以在 this and this Jupyter Notebook. Further information can be found in the documentation of the SQLAlchemy HANA dialect 中找到用法示例。

那天晚些时候我实际上设法成功连接,这是我的结构(我使用的是租户数据库):

db_connection = "hana+hdbcli://Username:Password@Host:port/tennat_db_name"

谢谢!