我找到了答案。PL/SQL语句末尾的分号是错误的罪魁祸首。
我正试图使用python模块cx_Oracle运行ALTER USER语句,但我收到了错误">cx_Oracle。数据库错误:ORA-00922:缺少或无效选项";
dsn = cx_Oracle.makedsn(host_name, port, service_name=service_name)
con = cx_Oracle.connect(user=DB_USER, password=DB_PASSWD, dsn=dsn)
cursor = con.cursor()
generated_passwd = random_passwd()
sql = "ALTER USER " + user_to_reset + " IDENTIFIED BY "" + generated_passwd + "";"
print(sql)
cursor.execute(sql)
这是我的代码生成的一个示例查询,当通过cx_oracle:运行时,它抛出了ORA-00922错误
ALTER USER john IDENTIFIED BY "vJe3lfRI9zma";
这个查询在sqlplus中有效,所以我不确定我在这里做错了什么。如有任何帮助,将不胜感激
ALTER USER john IDENTIFIED BY "vJe3lfRI9zma"
在cx_Oracle中运行良好。