BDE的SESSIONS数目问题(100分)

  • 主题发起人 主题发起人 qiu_peking
  • 开始时间 开始时间
Q

qiu_peking

Unregistered / Unconfirmed
GUEST, unregistred user!
李维在<<DELPHI5分布式多层应用系统篇>>中7-35中写道:BDE/IDAPI限制一
台执行BDE/IDAPI的机器最多只能同时有48个不同的连接数据库的SESSION。但
我作试验发现我可以有60个或更多同时的SESSIONS却没有问题。不知李维这个
说法有何根据,或许是我的测试有问题:
服务端:WIN2000 SERVER,P3/128M,DELPHI4.03,BDE5.01
客户端:WIN98,P3/128M
采用CORBA MULTIINSTANCE/MULTITHREADED技术,在这台客户端同时与服
务端建立60个连接,数据都正常取得。在ORACLE INSTANCE MANAGER中看到确
实有60个SESSIONS存在。
请各位同志发表高见。
 
听。
不过在我的cyrix233上60个session肯定不行
 
你大概是因为BDE内存耗尽了吧。我为了测试这个问题,每个实例仅仅打开一个小表,
这样可以在内存耗尽前创建更多的实例。谢谢你的回答。
 
关注一下。
 
应该不会用这种限制吧,Delphi用Sessions
来管理Session,Sessions是一个TList,
逻辑上肯定不会有数量限制。实际应用中由于内存大小
而受了限制,也是实际应用的事情,不应该有
"最多XXX"这种结论呀!
 
同意温柔一刀的看法,但因为李维是权威,我还是希望能有一个明确的答案,希望大家
踊跃提出自己的观点,对于有所启发的发言我都将给予分数.
 
第一:所谓不同的SEESION应该是指连接不同数据库的SESSION,而不是连接一个数据
库的多个SESSION,实际上连接一个数据库的SESSION理论上无数量上的限制,因为这
是线程概念上的。从你的实验上看,你是第二种情况。
第二:每个SESSION为一个数据库会话,如果要作到同时必须做多线程程序,否则会
话仍然是依次进行的,不是单单一个DATASOURCE连一个SESSION就是同时连接。不知
道你是如何做同时连接的。
以上只是我的看法,水平不足之处请见量,我也是初学者。如果有更正确的理解请
发E-MAIL给我,多谢了!
 
MS SQL Server 是由许可协议数和数据库的Connections控制的。
一般“许可协议数>用户数”“Connections>=(用户数*2+4)”

ORACLE 也有类似的问题!

 
我已经有了最后的结论:
BDE只能同时保持80个SESSIONS,所以同志们使用BDE时要提高警惕哟!
我是再也不用BDE来连接数据库了。
 
这个最后结论是怎样得到的呢?愿闻其详。
 
当然是试验的结果了.
 
高手们,继续分析呀
 
在多线程方式中,每个线程自动生成一个session,
如果只有80个,那么岂不是说Delphi编的web DB应用
只能有80个连接?这我实在不能相信。

你的实验结果还是与具体的实验环境有关吧!
 
温柔一刀,所以说要使用BDE要提高警惕,你看李维的书就知了。
BDE只能同时存在80个SESSIONS是确定的事实。
我看你最好自己作个试验。
 
说到试验,你不妨把你试验的代码发给我,
或者在这里说一下你的实验方法,我们有了共同
的讨论基础,问题解决起来就比较方便了。
 
说到session,去年我曾经做了一个小程序,它短小精干、简洁明快,效率也很公道,
童叟无欺,本来我想介绍给你,但是今日苦寻不到,唉!要怪也只能怪命运多变,造
化弄人!
 
Only you,你倒挺逗的。为此我会给你分的。
 
多人接受答案了。
 
后退
顶部