用了连接池,还能复用连接做事务处理吗?

chenyu2202863 2012-04-25 11:55:02
两个问题:
1. 一个三层架构的服务器,需要访问数据库(oracle),因为需要提供高并发、高响应,oci支持异步吗?

2. 数据库连接池与事务有没有冲突吗?
那对于大规模的并发访问数据库,不会解决方案就是每个session一个数据库连接吧,又需要session支持事务. 也就是一个连接具有事务的状态后,还能不能被其他操作复用?是否安全?
那需要连接池的话,如何才能做到每个session都支持事务呢?
...全文
268 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyu2202863 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
oci支持异步。
事务是针对Session来说的。
[/Quote]

OCI的异步并不好使,查询数据只能设置为non-blocking模式,并没有异步,通知机制
zyq5945 2012-04-25
  • 打赏
  • 举报
回复
oci支持异步。
事务是针对Session来说的
tcige 2012-04-25
  • 打赏
  • 举报
回复
不知道连接池是什么,oledb中更是没有connection这个概念

我只知道com+中的declarative transaction会要求object pooling
zyq5945 2012-04-25
  • 打赏
  • 举报
回复
不太清楚,但对于ADO或者oci编程接口来说提交事务都是针对connection。
刚看了下ocilib编程接口中connection有个OCI_HandleGetSession转换成session的函数。
chenyu2202863 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
oci支持异步。
事务是针对Session来说的。
[/Quote]
谢谢,明白了回话与连接是不同的概念
但是还有不明白的,就是如果一条连接上有若干回话,对于调用者而言,怎样区分不同的回话呢?
也就是说我想复用connection,在执行事务时,怎样不影响到该connection中其他的session?

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧