在 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"
谢谢!
所以我正在尝试使用 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"
谢谢!