无法使用pyhdb执行查询

2024-06-06 22:30:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用pyhdb执行一个简单的查询。在

这是我的代码:

HDB_TRACE=1

import pyhdb as db

db.tracing = True

connection = db.connect('HOST', 31047, 'USER', 'PASSWORD')

cursor = connection.cursor()

cursor.execute("SELECT TOP 1 GLOBAL_BRAND_OWNER FROM _SYS_BIC.LAV_DWH_SELLOUT.CV_NIELSEN")

print(cursor.fetchone())

我得到的错误是pyhdb.exceptions.DatabaseError: insufficient privilege: Not authorized

我问了数据库管理员,他告诉我,我登录的用户拥有一切可能的特权。在

如果我尝试SELECT 'Hello Python World' FROM DUMMY它会起作用。我不知道我的代码是否有错误。在

如果我用同一个用户执行through Hana Studio查询,就可以了。在

这是过程的轨迹:

^{pr2}$

Tags: 代码用户fromimporttruedbas错误
2条回答

我要说的是,你的用户实际上并没有“所有可能的特权”。 看到您试图访问计算视图,我的第一个猜测是您的用户没有该计算视图的授权。在

要更彻底地分析问题,您可以通过SAP HANA Studio登录,右键单击视图并选择“显示授权”。 这将为您提供所需权限和所提供权限的图形化概述。在

这个blog post提供了一个关于如何使用这个工具的很好的介绍。在

您必须为登录到HANA数据库的cursor对象设置参数,并确保用户对保存您正在查询的数据的架构具有权限。在

相关问题 更多 >