我试图在python
的oracle DB上担任以下角色 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中执行此操作的正确方法
答案 0 :(得分:1)
我的代码错了,我用过
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')
答案 1 :(得分:0)
尝试使用execute immediate:
执行PL / SQL块begin
execute immediate 'Set role role_name identified by xyz';
end;