import pyhdbconnect = pyhdb.connect( host="example.com", port=30015, user="user", password="secret")从官方解释来看Pyhdb只给出了四个参数。如果没有参数数据库名称,我无法理解系统如何知道在这种情况下要连接到哪个数据库?当我这样连接时,程序错误:“pyhdb.exceptions.DatabaseError:authentication failed”,看来我的密码错误,所以我让朋友使用JAVA(jdbc)带四个参数连接,也失败了,但是如果他添加数据库名称,它就起作用了!所以我的参数是正确的,问题是如何在 pyhdb 中指定数据库名称?或者还有其他方式连接Hana,谢谢!
1 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
查看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。
通过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()
添加回答
举报
0/150
提交
取消