如何在pyhdb中指定数据库名称

How to specifies database name in pyhdb

import pyhdb
connect = pyhdb.connect(
    host="example.com",
    port=30015,
    user="user",
    password="secret"
)

来自官方解释 Pyhdb只给出了四个参数。没有参数数据库名,我不明白这种情况下系统是怎么知道你要连接哪个数据库的?

当我以这种方式连接时,程序错误:"pyhdb.exceptions.DatabaseError: authentication failed", 貌似我的密码不对,让朋友们用JAVA(jdbc)连接四个参数, 它也失败了,但是如果他添加数据库名称,它就成功了!所以我的参数是正确的,问题是如何在pyhdb中指定数据库名称?

或者还有其他连接Hana的方法,谢谢!

查看pyhdb包的__init__.py文件可知,创建时DATABASENAME受支持连接:

[...]    
def connect(host, port, user, password, autocommit=False):
    conn = Connection(host, port, user, password, autocommit)
    conn.connect()
    return conn
[...]

这里的好消息是 pyhdb 无论如何都不应该用来连接到 HANA,因为它是旧的且不受支持的客户端库。

使用 hdbcli 代替 documentation.

中的描述

使用 hdbcli 使用 DATABASENAME:

完全没有问题
from hdbcli import dbapi

connection =dbapi.connect(address="hxehost", port=39013, databasename="HXE", user="xxxxx", password="xxxxx")

cursor = connection.cursor()
cursor.execute("SELECT 'Hello, Python world' FROM DUMMY")

print(cursor.fetchone())

connection.close()