首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >cx_oracle 调用存储过程并指定部分参数

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

原创
作者头像
大大刺猬
发布2022-07-19 17:31:05
发布2022-07-19 17:31:05
1.5K00
代码可运行
举报
文章被收录于专栏:大大刺猬大大刺猬
运行总次数:0
代码可运行

描述

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

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

环境

cx_Oracle >= 8.2

python >= 3.6

Oracle 本次环境为 19c

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

代码语言:python
代码运行次数:0
运行
复制
import cx_Oracle
conn = cx_Oracle.connect('username', 'passowrd', "127.0.0.1/servicename",encoding="UTF-8")
cursor = conn.cursor()

方法1

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

代码语言:python
代码运行次数:0
运行
复制
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=[]

详情可以看官网

代码语言:python
代码运行次数:0
运行
复制
cursor.callproc('dbms_stats.gather_table_stats',keyword_parameters={'ownname':'username','tabname':'tablename'})

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 描述
  • 环境
  • 方法1
  • 方法2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档