关于DCOM的联接问题??急急急!!!!!(100分)

  • 主题发起人 主题发起人 cloud_scorpion
  • 开始时间 开始时间
C

cloud_scorpion

Unregistered / Unconfirmed
GUEST, unregistred user!
请问下,我在B/S结构下采用DCOM连接数据库,为什么联接者个数多后就会出现联接不上的现象??
(数据库方面的配置是正确的,不知道在应用服务器中联接数据库是否有什么缺点需要克服?)
在线等待!!!!
 
有lisence吗
 
有,我的应用服务器放在一台机器上,其他的机器都不需要本地的应用服务器,这样在联接用户
超过10个左右的用户时,应用服务器就不能联接新的用户进入数据库
 
你使的是什么数据库?TDataSet有没有通过TDatabase来连接数据库?
我今天刚做了一个试验,虽然用的是BDE,但运行55个客户端进程时,应用服务器还是能够
正确地服务。
 
:Sachow
Oracle 8.16,我是用的dcomconnction控件在应用服务器端连接数据库。我想可能应该是dcomconnction
控件的属性配置方面的问题或是程序上,不知道你有没有碰到这方面的问题?
 
你还是没有把事情描述清楚。你的服务器端连接数据库用的是BDE还是ADO,服务器端的数据
模块里有几TTable/TQuery, 几个TDatabase,几个TDataSetProvider?
客户端连接不上服务器的时候是什么情况,报什么错?
 
to Sachow, ;
有五个远程数据模板,每一个上面有20个query和tdatasetprovider.(成对的)。一个
session.和一个database.(每一个远程数据模板上都有session和database)。这样会有问题
吗?handleshared:=True;
这样会有问题吗?我上次好象看到过您一篇文章。是使用pooling技术。您能不能把代码
公布一下呢?我开贴送分。行吗?我主要是想作开发前的测试。因为现在还在选方案。
 
To billrobin:
我想不会有什么问题。使用Remote DataModule,你的服务器准备采用进程外组件(EXE程序)
形态吗?如果你的服务器使用的是STA(Apartment)线程模型的话,使用一个TQuery或使用
20个TQuery实际上是没有太大区别的,因为在STA线程模型下,应用服务器只会为每一个进程
分配一个线程进程服务,如果客户端是多线程的话,对客户端每个线程的服务将以排队的方
式进行。同时打开多个数据集的方式速度应该会略快一点,但会占用更多的资源。每个Remote
DataModule上都用一个TDatabase来连接数据库,这样你的应用服务器将建立5个数据库连接,
对于48个连接的BDE限制值来说还差还远,不用操心。
关于数据库Pooling,我现在还并没有自己做连接池(近一段时间工作太紧,没功夫继续研究
了),用的是BDE + COM+的,自己实际上不用做什么。
 
Sachow,
谢谢您的回答,我一直担心会造成线程冲突。我使用的是(Apartment)线程模型,
进程外组件(EXE程序)。谢谢您的回答,请到下面去取分。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1483683
 
后退
顶部