【发布时间】:2020-02-24 05:27:16
【问题描述】:
我已经按照几个示例在 python jupyter notebook 中使用 SQLAlchemy 创建和删除了一个 DB2 表。这很好用。但是创建表后,我需要设置权限以便其他人可以查看它。 我使用此代码从 Pandas 数据框“df”创建一个新表
from sqlalchemy import create_engine, text
engine = create_engine(r"...")
df.to_sql(name='MYTABLE', schema='MYSCHEMA', con=engine, if_exists='replace', dtype=dashdb_typemap, index=False)
我可以用这段代码很好地删除表格:
with engine.connect() as con:
con.execute('DROP TABLE MYSCHEMA.MYTABLE')
但是这些都不能设置权限:
with engine.connect() as con:
con.execute('GRANT ALL ON MYSCHEMA.MYTABLE TO PUBLIC')
with engine.connect() as con:
con.execute(text('GRANT ALL ON MYSCHEMA.MYTABLE TO PUBLIC'))
我可以在 QMF 中运行 SQL,它运行良好。它似乎在笔记本上不起作用。 我想知道是否有人看到我需要纠正的缺陷?
谢谢
【问题讨论】:
-
什么 Db2 版本和平台? “这些都不是”是什么意思?如果您遇到错误,请逐字发布。
-
这是 IBM 的云端 DB2。当我运行两者中的任何一个时,都不会授予权限。我没有错误
标签: python sqlalchemy db2 jupyter-notebook