如何使用 cx_Oracle 在 Python 中返回 SQLPLUS 变量

Posted

技术标签:

【中文标题】如何使用 cx_Oracle 在 Python 中返回 SQLPLUS 变量【英文标题】:How to return a SQLPLUS variable in Python using cxOracle 【发布时间】:2012-07-24 14:31:57 【问题描述】:

我有以下 SQLPlus 语法。现在我需要使用 cxOracle 在 Python 中运行它。我该怎么做?

variable my_cnt number;
begin
   :my_cnt := 10;
    commit;
end;
.
/
select :my_cnt from dual;

【问题讨论】:

【参考方案1】:

给你。

import cx_Oracle
connstr = 'scott/tiger@127.0.0.1:1521/xe'
orcl = cx_Oracle.connect(connstr)

curs = orcl.cursor()
number_var = curs.var(cx_Oracle.NUMBER)
curs.execute(r"""BEGIN :my_cnt := 10; END;""", 'my_cnt':number_var)

print number_var.getvalue()

curs.close()
orcl.close()

【讨论】:

以上是关于如何使用 cx_Oracle 在 Python 中返回 SQLPLUS 变量的主要内容,如果未能解决你的问题,请参考以下文章

Python应用实战系列-如何通过Python来操作Oracle数据库:cx_Oracle

如何在python多进程代码中使用cx_Oracle创建一个连接(或会话)池来连接Oracle数据库?

如何在python中将十六进制字符串转换为二进制以使用cx_oracle插入

使用 cx_oracle 批量下载表

使用Python解决Cx_Oracle查询时UnicodeDecodeError的问题

在 Python 中使用 cx_Oracle 中的 executemany() 从批量插入数据加载中查找错误记录