当前位置: 首页 > article >正文

OCI编程高级篇(十八) OCI连接池概念

数据库连接池已经不是新概念了,它以有限的连接让外部更多的客户来访问数据库,一般用于中间服务器中,OCI也有连接池的概念。OCI的连接池是由OCI自己管理的,不需要应用干预,程序通过函数从连接池中得到一个会话,通过会话操作数据库,然后通过函数释放会话,会话被连接池回收,供给其他访问使用。

OCI的连接池也是有局限性的,由于连接池在进程中创建,所以连接池中的会话只能本进程下的线程才能共享,连接池不能跨进程使用。如果要跨进程使用,需要用到驻存连接池,它由数据库来管理,需要调整数据库设置,在数据库层级创建连接池。

我们在这里讨论OCI的连接池,也就是进程内共享的连接池。使用连接池的步骤如下。

1. 创建OCI环境句柄,创建错误句柄。

2. 创建连接池句柄,使用OCI_HTYPE_CPOOL从环境句柄创建。

3. 创建连接池,使用函数OCIConnectionPoolCreate()。

4. 各个线程从连接池得到会话,使用函数OCILogon2()或者OCISessionGet()。

5. 线程通过会话进行数据库的DML或查询操作。

6. 线程操作完数据库,释放会话到连接池,使用函数OCILogoff()或者OCISessionRelease()。

7. 删除连接池,使用函数OCIConnectionPoolDestroy()。

8. 释放连接池句柄。

9. 释放掉环境句柄。

下一节我们介绍用到的函数原型,写一个完整的代码来演示如何使用连接池。


http://www.kler.cn/news/289077.html

相关文章:

  • 如何打造一个成功的直播矩阵
  • 【科研新人必看】什么是期刊等级,SCI、核心期刊、省刊
  • qt6 socket 不使用代理 socket error: The proxy type is invalid for this operation
  • 8.29 C++
  • 常用Pandas操作(笔记整理)
  • 前端学习笔记-Web APIs篇-02
  • 基于机器学习的工业制造缺陷分析预测系统
  • 运动多线激光三维重建
  • 解决bug: RuntimeError: Address already in use,一个linux下pytorch多卡训练tcp端口占用的bug
  • SpringCloudGateway网关技术
  • 笔记整理—uboot番外(2)find_cmd函数
  • Selenium+Python自动化测试环境搭建
  • SAP自动化操作
  • L1-084 拯救外星人
  • Python 数据分析— Pandas 基本操作(上)
  • SprinBoot+Vue健康管管理微信小程序的设计与实现
  • 代码随想录训练营day51|图论part2
  • 解锁.NET安全奥秘:敏感数据加密与哈希的深度揭秘
  • C++系列-const所有用法总结
  • HALCON 错误代码 #7709
  • python-简单的dos攻击
  • 第十四章 rust集合库介绍
  • Mybatis【分页插件,缓存,一级缓存,二级缓存,常见缓存面试题】
  • 【HarmonyOS】模仿个人中心头像图片,调用系统相机拍照,从系统相册选择图片和圆形裁剪显示 (二)
  • 免费升级https访问
  • Vue3 reactive和ref
  • Chapter 07 watch侦听器
  • 【Next】1. 初识服务端渲染
  • OpenHarmony如何切换横竖屏?
  • 科研绘图系列:R语言富集火山图和通路图(volcano plot pathway)