0

我正在win7上的Eclipse中使用python(pydev)。

我需要从 python (pypyodbc) 访问 netezza SQL 数据库来创建存储过程。

我可以从 IBM Aginity 工作台很好地创建存储过程。

但是,我从 python 执行此操作时出错。

  pypyodbc.Error: ('HY000', '[HY000] ERROR:  Creating procedure: permission denied.')

如何获得许可?

谢谢 !

4

1 回答 1

0

您可以通过任何一种方式获得许可 -

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>;

希望这会有所帮助。

于 2015-01-20T08:43:13.910 回答