如何使用cx_Oracle运行'EXEC dbms_stats.init_package()'

时间:2018-07-04 09:46:13

标签: oracle python-2.7 oracle12c cx-oracle

我尝试过: 代码:

import cx_Oracle
conn = cx_Oracle.connect('xyz/xyz@xyz:1521/orcl')             
cur = conn.cursor()  
query = 'EXEC dbms_stats.init_package\(\)'                                     
cur.execute(query) 

query = 'EXEC dbms_stats.init_package()'                                     
cur.execute(query)

对于这两个尝试,我都会收到以下错误:

错误:cx_Oracle.DatabaseError: ORA-00900: invalid SQL statemen t

能否请您告诉运行此SQL命令的正确方法

2 个答案:

答案 0 :(得分:2)

ConstraintLayout是一个sqlplus命令,请改用EXEC

BEGIN..END

答案 1 :(得分:2)

您可以使用callproc调用存储过程。

cur.callproc("DBMS_STATS.INIT_PACKAGE")

详细信息为here