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

Python 如何在pyhdb中指定数据库名称,python,hana,Python,Hana,根据官方的解释 Pyhdb只提供四个参数。如果没有参数database name,我无法理解在这种情况下系统如何知道要连接到哪个数据库 当我以这种方式连接时,程序错误:“pyhdb.exceptions.DatabaseError:authentication failed”, 看起来我的密码错了,所以我让朋友用JAVA(jdbc)连接四个参数, 它也失败了,但如果他添加数据库名,它就成功了!所以我的参数是正确的,问题是如何在pyhdb中指定数据库名称 或者有其他方式连接到Hana,谢谢 查看p

根据官方的解释 Pyhdb只提供四个参数。如果没有参数database name,我无法理解在这种情况下系统如何知道要连接到哪个数据库

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


或者有其他方式连接到Hana,谢谢

查看pyhdb包的
\uuuu init\uuuuuuuupy
文件,可以看出
DATABASENAME
在创建连接时不受支持:

import pyhdb
connect = pyhdb.connect(
    host="example.com",
    port=30015,
    user="user",
    password="secret"
)
好消息是,pyhdb无论如何都不应该用于连接HANA,因为它是旧的、不受支持的客户端库

如中所述,使用hdbcli

使用hdbcli使用
数据库名根本没有问题:

[...]    
def connect(host, port, user, password, autocommit=False):
    conn = Connection(host, port, user, password, autocommit)
    conn.connect()
    return conn
[...]
这对你有帮助吗-
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()