无法使用python中的cx_Oracle执行涉及SET的语句

无法使用python中的cx_Oracle执行涉及SET的语句,python,oracle,cx-oracle,Python,Oracle,Cx Oracle,我试图使用SET关键字,因为我想将输出假脱机为HTML进行查询 conn = cx_Oracle.connect(mode=cx_Oracle.SYSDBA) curs = conn.cursor() #curs.execute('set markup html on;'); curs.execute('set pages 0'); curs.execute(new_param); curs.execute('update empolyee set job_status=\'Completed\

我试图使用SET关键字,因为我想将输出假脱机为HTML进行查询

conn = cx_Oracle.connect(mode=cx_Oracle.SYSDBA)
curs = conn.cursor()
#curs.execute('set markup html on;');
curs.execute('set pages 0');
curs.execute(new_param);
curs.execute('update empolyee set job_status=\'Completed\' where job_id=' + str(new_id))
但我总是会

 File "./scheduler_poll.py", line 22, in func_sql
    curs.execute('set pages 0');
DatabaseError: ORA-00922: missing or invalid option

原因和方法是什么?

您似乎正在尝试使用SQLPlus命令(
set markup
set pages
)。您只能在SQLPlus中使用SQLPlus命令(或其他支持SQLPlus命令子集的前端工具)。通常不能从应用程序代码中使用SQLPlus命令。您的代码可能会调用一个单独的SQLPlus可执行文件,并传入一个SQL*Plus脚本。或者您可以编写代码将结果转换为HTML。