在Python中使用cx_Oracle调用Oracle存储过程

本文测试在Python中通过cx_Oracle调用PL/SQL。

创新互联公司专注于伊春企业网站建设,自适应网站建设,商城网站建设。伊春网站建设公司,为伊春等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

首先,在数据库端创建简单的存储过程。

create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is
begin
  o_msg := i_user ||', Good Morning!';
end;

然后,开始在Python命令行中进行存储过程调用。

import cx_Orace as cx
conn = cx.connect('database connecting string')
cursor = conn.cursor()
#声明变量
user = 'Nick' #plsql入参
msg = cursor.var(cx_Oracle.STRING) #plsql出参
#调用存储过程
cursor.callproc('test_msg', [user, msg]) #['Nick', 'Nick, Good Morning!']
#打印返回值
print msg #
print msg.getvalue() #Nick, Good Morning!
#资源关闭
cursor.close()
conn.close()

延伸阅读:

存储过程、cx_Oracle、Python的对象类型之间存在转换关系。具体如下:

Oracle

cx_Oracle

Python

VARCHAR2
NVARCHAR2
LONG

cx_Oracle.STRING

str

CHAR

cx_Oracle.FIXED_CHAR

NUMBER

cx_Oracle.NUMBER

int

FLOAT

float

DATE

cx_Oracle.DATETIME

datetime.datetime

TIMESTAMP

cx_Oracle.TIMESTAMP

CLOB

cx_Oracle.CLOB

cx_Oracle.LOB

BLOB

cx_Oracle.BLOB


文章标题:在Python中使用cx_Oracle调用Oracle存储过程
分享地址:http://bzwzjz.com/article/jgijgh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 手机网站建设 成都网站建设公司 LED网站设计方案 重庆电商网站建设 成都商城网站制作 成都网站建设 成都网站设计 营销型网站建设 攀枝花网站设计 成都网站建设公司 重庆网站建设 网站建设公司 营销网站建设 成都网站制作 成都网站设计制作公司 营销网站建设 网站制作报价 成都h5网站建设 手机网站制作 网站建设公司 成都网站建设 商城网站建设