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. 释放掉环境句柄。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值