过程在 SQL Developer 内部执行,但不在脚本内部执行
我有一个不起作用的程序。 如果我尝试运行:“BEGIN proc_name; END;”在 SQL Developer 中或通过脚本我遇到了同样的错误。
我已经修复了该过程,现在当我在 SQL Developer 中运行相同的命令时,一切正常,但脚本返回错误。
当我尝试时:
...
sql = """EXEC proc_name"""
con = connection.cursor()
con.execute( sql )
...
我得到 DatabaseError: ORA-00900: invalid SQL statements,但可能是因为: PL/SQL Developer 中的执行过程出现问题,我并不真正担心它。
真正让我好奇的是,当我尝试时:
...
sql = """BEGIN proc_name;END;"""
con = connection.cursor()
con.execute( sql )
...
我得到了与修复程序之前相同的错误。 你知道发生了什么事吗?
PS:这是一个使用 cx_Oracle 的 python 脚本,我使用的是 Oracle 10g。
I had a procedure that was not working.
If I tried to run: "BEGIN proc_name; END;" in SQL Developer or via script I had the same error.
I've fixed the procedure and now when I run that same command in SQL Developer, it's fine, but the script returns an error.
When I try:
...
sql = """EXEC proc_name"""
con = connection.cursor()
con.execute( sql )
...
I get DatabaseError: ORA-00900: invalid SQL statement, but probably is because of that: Problem with execute procedure in PL/SQL Developer and I'm not really worried about it.
What is really making me curious is when I try:
...
sql = """BEGIN proc_name;END;"""
con = connection.cursor()
con.execute( sql )
...
I get the same error that I had before fix the procedure.
Do you have any idea what is going on?
PS: This is a python script using cx_Oracle and I'm using Oracle 10g.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试使用 callproc() 或 callfunc() 方法在光标上,而不是execute()。它们与 Py DB API 不完全兼容,但应该可以为 cx_Oracle 完成工作...
Try using the callproc() or callfunc() method on the cursor, instead of execute(). They are not exactly Py DB API compatible, but should do the job for cx_Oracle...