cx_oracle 调用存储过程并指定部分参数

描述

某些环境下, 需要编写脚本实现自动化运维. 比如 自动收集统计信息, 一般是用操作系统的定时任务, 还不需要账号密码, 很方便.

本次教程为 python 通过 cx_Oralce 来调用存储过程, 并指定部分参数

环境

cx_Oracle >= 8.2

python >= 3.6

Oracle 本次环境为 19c

使用python登录oracle可以参考如下语句

import cx_Oracle
conn = cx_Oracle.connect('username', 'passowrd', "127.0.0.1/servicename",encoding="UTF-8")
cursor = conn.cursor()

方法1

调用存储过程的命令当作普通sql

sql = '''begin dbms_stats.gather_table_stats(ownname => 'username', tabname => 'tablename');end;'''
cursor.execute(sql)

方法2

使用官方提供的callproc方法,语法 Cursor.callproc(name, parameters=[], keyword_parameters={})

注: 小于 8.2的版本 需要改为keywordParameters

指定参数 keyword_parameters={}

位置参数 parameters=[]

详情可以看官网

cursor.callproc('dbms_stats.gather_table_stats',keyword_parameters={'ownname':'username','tabname':'tablename'})

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...