我尝试使用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}$
我要说的是,你的用户实际上并没有“所有可能的特权”。 看到您试图访问计算视图,我的第一个猜测是您的用户没有该计算视图的授权。在
要更彻底地分析问题,您可以通过SAP HANA Studio登录,右键单击视图并选择“显示授权”。 这将为您提供所需权限和所提供权限的图形化概述。在
这个blog post提供了一个关于如何使用这个工具的很好的介绍。在
您必须为登录到HANA数据库的cursor对象设置参数,并确保用户对保存您正在查询的数据的架构具有权限。在
相关问题 更多 >
编程相关推荐