我正在win7上的Eclipse中使用python(pydev)。
我需要从 python (pypyodbc) 访问 netezza SQL 数据库来创建存储过程。
我可以从 IBM Aginity 工作台很好地创建存储过程。
但是,我从 python 执行此操作时出错。
pypyodbc.Error: ('HY000', '[HY000] ERROR: Creating procedure: permission denied.')
如何获得许可?
谢谢 !
我正在win7上的Eclipse中使用python(pydev)。
我需要从 python (pypyodbc) 访问 netezza SQL 数据库来创建存储过程。
我可以从 IBM Aginity 工作台很好地创建存储过程。
但是,我从 python 执行此操作时出错。
pypyodbc.Error: ('HY000', '[HY000] ERROR: Creating procedure: permission denied.')
如何获得许可?
谢谢 !
您可以通过任何一种方式获得许可 -
1)让自己成为对象(数据库、表)的所有者,这将为您提供所有权限(包括创建/执行/更改函数/过程)。
例如 - 更改表的所有者 -
=> alter table <tbl_name> owner to <owner_name>;
2) 管理员请求获得创建和执行程序的必要权限 -
例如 - 为(数据库、表)获取“执行”(对象特权)
db.schema(admin/user with rights) => grant execute on <tbl_name/db_name> to <user>;
例如 - 获取“创建过程”(管理员权限)
db.schema(admin/user with rights) => grant create procedure \
in <[database_name.]schema_name | database_name.ALL | ALL.ALL> \
to <user>;
希望这会有所帮助。