python - 使用 cx_Oracle 从存储过程中捕获 stdout 输出

标签 python oracle10g cx-oracle

cx_Oracle 中是否有一种方法可以捕获 oracle 存储过程的标准输出输出?这些在使用 Oracle 的 SQL Developer 或 SQL Plus 时会出现,但似乎没有办法使用数据库驱动程序来获取它。

最佳答案

您可以使用 DBMS_OUTPUT.GET_LINE(buffer, status) 检索 dbms_output。成功时状态为 0,没有更多数据时状态为 1。

您还可以使用 get_lines(lines, numlines)numlines 是输入输出。您将其设置为最大行数,并将其设置为输出的实际数量。您可以在循环中调用它并在返回的 numlines 小于您的输入时退出。 lines 是一个输出数组。

关于python - 使用 cx_Oracle 从存储过程中捕获 stdout 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5244517/

相关文章:

python - 括号内的非贪婪正则表达式并包含文本

python - "no matching architecture in universal wrapper"导入pygame时

sql - Oracle 并行查询等待统计信息不在 tkprof 的报告中

python - 如何使用 python、cx_oracle 将查询的结果集作为字典获取?

python - py2exe/cx_Oracle - 生成的 dist 中的 OCI.dll

python - 使用 Twisted 的原始 UDP 数据包

python - 无法选择值 - 错误 "Select only works on <select> elements, not on <a>"

plsql - pl/sql 代码添加两行

sql - PL/SQL 数字或值错误 : number precision too large

python - cx_Oracle 游标忘记聚合时的列比例