ошибка создания хранимой процедуры в базе данных netezza из python с помощью pypyodbc

Я работаю над python (pydev) в Eclipse на win7.

Мне нужно получить доступ к базе данных SQL netezza из python (pypyodbc), чтобы создать хранимую процедуру.

Я могу хорошо создать хранимую процедуру из IBM Aginity workbench.

Но у меня возникла ошибка, что я делаю это из python.

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

Как получить разрешение?

Спасибо !


person user3601704    schedule 14.01.2015    source источник


Ответы (1)


Вы можете получить разрешение любым способом -

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

Надеюсь, это поможет.

person Varun Bajaj    schedule 20.01.2015