Oracle 连接池第N版。

编程语言

Python

语言版本

≥ 3.9.10

实现功能

oracle 连接池,解决频繁连接oracle数据库带来的连接资源耗费问题

程序托管

GitHub-OraclePool

修改日期

(有新的发现就会改进)

 程序源码: 传送门GitHub:OraclePool

【2023-06-16】

version ≥ 5.0 改进说明:

  • 后续改进了很多,而且有新的发现也会持续改进。
  • 后续改进的说明和代码都托管在Github(说明部分如果代码页面没有写,可以在提交说明里找一找),为了减少工作量,不再在此更新。

 version 5.0 改进说明:

**[2022-04-20]**

+ 去掉对`dbutils`的使用,完全使用`cx-oracle`库进行重构
+ 重构后的`Oracle`连接池代码更加简洁,使用更加顺畅
+ 部分方法名进行了微调,与cx-oracle库自身的某些方法名保持一致
    + `fetch_one` -> `fetchone`
    + `fetch_many` -> `fetchmany`
    + `execute_many` -> `executemany`
+ 删去了`execute_sql`方法,合并到`execute`方法中
+ 优化了部分方法的参数,使得其运行更加高效,代码更加简洁
+ 各个方法都自动commit,不用显示调用

version 4.0 改进说明:

**[2020-04-21]**

+ 修复连接用完后,不放回连接池的`bug`
+ 修复使用类名称获取`pool`时的类名称错误(`OrclConnPool`),改为用`self`
+ 改进了对`config`连接信息的判断逻辑,使得`config`的配置更加简化
+ 改进了新的注释,使用更加清晰
+ 改进了部分代码的格式,使得其更规范
+ 新增`fetch_all`和`fetch_one`
+ 优化了`demo`内容和格式,使得其更规范

version 3.0 改进说明:

*)修复一个 Bug,该 Bug导致连接池中有且仅有一个连接资源被使用,其余空闲。
*) 2019-12-27 12:45:21 by MaiXiaochai


version 2.0 改进说明:


*)将原来的 orcl_pool.py 文件单独拿出来,创建新库 OracleConnectionPool,便于编辑和分享;
*)更新"程序链接"内容和 URL。
*)2019-5-29 16:54:37 by MaiXiaochai


*)由原来的只能维持一个连接池改为可维持多个连接池;
*)加入了对 service_name 连接方式的支持;
*)添加了析构函数,对连接池资源进行回收;
*)对相关的代码注释进行了规范,使其看起来比较整洁;
*)添加了一个使用样例。
*)2019-3-28 19:13:47 by MaiXiaochai


The end.