Запустить команду 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;