to:liudz
我的是放在一个公用数据模块里并非远程数据模块里,远程数据模块数据集共用这个数据模块的连接,看这个就明白:
TSevPubDataModule = class(TDataModule)
SeAdoCon: TADOConnection;
private
{ Private declarations }
public
{ Public declarations }
end;
你说的很有道理,但那样的话是不是又回到两层的老路上来了,有多少客户端就会建立多少个连接,那样数据库服务器岂非压力又变得跟两层一样了,会不会我的理解有误,有了解的富翁给讲一下就好了。
而且我有一点不明白的,就是所有的DELPHI自带的例子或者李维书里的例子都把TDATABASE或TADOCON放在远程数据模块里,如果正确应是这样,是否死机的问题就出在这里,到底数据库连接该放在哪里?
-----------------
现在报告哈我们自己摸索的最新情况,没有POOLER,没有改变ADOCON的位置
改变了两个地方
一。参看李维《D5.X分布式多层应用系统篇》P.9-20
<9-4设定NT服务模式的应用程序服务器>这一节内容
所有应用服务器DCOM设置里[身份验证]变为系统账户(只适用于服务)
二。应用服务的线程模型由Apartment 改为Neutral。
就改了这两个地方,现在两天没死机了,但是仍然疑惑中
就一,这个影响有这么大嘛? 既然是身份验证,死机之前可用表明早就通过了身份验证,所以我不认为是这个影响的。
就二,看Neutral说明,This model is only available under COM+. Otherwise, it is mapped to the Apartment model.感觉更寒!