cx_Oracle:ORA-00922:alter session命令的缺失或无效选项

时间:2015-03-13 00:08:52

标签: python database oracle cx-oracle

我目前正在尝试使用cx_Oracle在我的python程序中运行以下命令:

alter session set "_use_nosegment_indexes" = true;

我正在尝试编写一个可用于索引调整的大学项目程序,并且需要能够在程序内运行解释计划(工作正常),并考虑虚拟索引。根据我的理解,上面需要设置以便发生这种情况,但我在python中得到以下错误:

cx_Oracle.DatabaseError: ORA-00922: missing or invalid option

这一切都是通过与运行Oracle的远程服务器的连接完成的。我做错了什么或这是cx_Oracle不支持的东西,在这种情况下,我可以使用另一个包,我可以做到这一点。如果没有,是否有另一个DBMS我可以在python程序中运行虚拟索引的解释计划。

谢谢

2 个答案:

答案 0 :(得分:0)

最后找到了单引号和双引号的正确组合。最后,有效的代码是:

query = "alter session set \"_use_nosegment_indexes\" = true"
dbcursor.execute(query)

答案 1 :(得分:0)

您也可以这样做(它更清楚一点):

query = """alter session set "_use_nosegment_indexes" = true"""
dbcursor.execute(query)