首页 > 解决方案 > 如何使用 cx_Oracle 运行“EXEC dbms_stats.init_package()”

问题描述

我试过了:代码:

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 statement

你能告诉运行这个SQL命令的正确方法吗

标签: oraclepython-2.7oracle12ccx-oracle

解决方案


EXEC是一个 sqlplus 命令,请BEGIN..END改用

proc='''BEGIN
 dbms_stats.init_package();
 END;'''
cur.execute(proc);

推荐阅读