ADO与Pooler(100分)

  • 主题发起人 主题发起人 高小五
  • 开始时间 开始时间

高小五

Unregistered / Unconfirmed
GUEST, unregistred user!
我的三层程序采用DCOM + Ado + Oracle,
Oracle的进程数有限制,默认只有50,最大也只有200,比如用50的进程,
如果采用两层,除了Oracle系统进程外,可以建立40几个客户端连接,
但用三层,一个客户很可以同时连接两个DataModoule,每个DataMoudle
连接一次,意味着最多只能连接20几个客户端,Delphi的Pooler例程用
的是TDataBase,
问题1:我不知道Pooler可不可以用于Ado
问题2:如果可以,我觉得按例程写程序过于复杂,有没有简单的办法
问题3:在WEB应用中成百上千的客户端连接该如何处理
先谢谢各位兄台
 
ado自己就有connection pool的功能。
在WEB应用中成百上千的客户端连接该如何处理
成百上千的客户端不会一直都连着的,只有在访问服务器的时候才需要连接,连接
操作完成后马上关闭。 这样实际上的负荷也是很小的。
我说的针对sql server,对oracle不是很熟悉。
 
非常谢谢Adnil
1.请问Adnil兄台"ado的connection pool“的简单用法或思想
2.SQL Server与DCOM,ADO配合使用时有Pool,我在李维的书上看过,
但在Oracle中却没有这样的优化,不知道有什么办法,
 
也就是说,ado管理了所有的数据库连接,在第一次连接的时候建立真正的连接,而以后的
连接则通过类似于“复制”的方法。
同样,断开Adoconnection的时候,ado本身还是保持跟服务器的联系。
可能我的表达不是很清楚,你可以做一个试验,新建一个Delphi程序,启动的时候连接
数据库,很容易发现第一次连接非常慢,第二次就很快了。
 
我也很关注此问题
 
使用com+,几乎不用改程序,connection pool的功能很明显。
 
如果你写的组件运行在COM+环境下,则COM+自动会对ADOConnection提供pool功能。你的
客户端可以自由的调用组件的方法。COM+会根据需要在现有的连接中重复使用。但是如果
你是在客户端直接通过ADO建Connection连数据库。则没有pooling的功能。
 
谢谢各位,关注
 
就是呀,连接放到到com+中的中间层才对呀,
com+有pooling的能力的.
 
多人接受答案了。
 
能否详细点啊
 
后退
顶部