Запустить команду set role из python на оракул БД

Я пытаюсь ниже роль на оракула БД из питона

Set role role_name identified by XYZ

Код, который я попробовал:

self._connection = cx_Oracle.connect(self._configHelper.get_oracledb_connection_string())
cursor = self._connection.cursor()
cursor.execute('Set role role_name identified by xyz')
results = list(cursor.fetchall())

Когда я попробовал это, я получил "ошибка интерфейса: не запрос". Но он работает нормально, когда я запускаю его с помощью SQL Developer, поэтому в запросе нет ошибок.

Я тоже пробовал

cursor.callproc('Set role role_name identified by xyz')

и он говорит недопустимый символ в строке 1 столбца 11

Может кто-нибудь, пожалуйста, сообщите мне о том, как правильно выполнить это в Python

2 ответа

Мой код был неправильным, я использовал

results = cursor.fetchall()

думая, что я проверил бы статус, и именно это утверждение вызывало проблему. Так что решение

self._connection = cx_Oracle.connect(self._configHelper.get_oracledb_connection_string()) cursor = self._connection.cursor() cursor.execute('Set role role_name identified by xyz')

Попробуйте выполнить блок PL/SQL с немедленным выполнением:

begin
  execute immediate 'Set role role_name identified by xyz';
end;
Другие вопросы по тегам