三层客户端并发连接问题(100分)

  • 主题发起人 主题发起人 sifan_5257
  • 开始时间 开始时间
S

sifan_5257

Unregistered / Unconfirmed
GUEST, unregistred user!
应用程序使用MIDAS+ADO+SOCKET连接方式,如果两个客户端同时连接服务器就报(异步连接错误),请各位大虾帮忙[blue][/blue]
 
线程模型用的是tmApartment
 
[red]哪位知道的,帮帮忙啊,急啊[/red]
 
ciMultiInstance, tmApartment
用多实例的.
一个客户端对一个实例
 
TO:QSmile
谢谢QSmile的回答,
我的线程模型也是ciMultiInstance, tmApartment,在中间层我用了一个DataModule,ADOconnection和一些公用QUERY都放在了DataModule,中间层运行的时候动态创建了DataModule的实例,是不是DataModule不会向RemoteDataModule那样为每个CLIENT创建一个实例,我该怎么做才好
 
这个问题我也很想知道啊,谁会的话,希望不吝赐教,我的能上的多点,也就是60-70个,再多就出现'连接占线导致另一个命令'的错误了,但是点了确定以后还能用~,不知道什么原因?
 
哦.我知道你的问题了
你应该与 asksomeone 一样.把 ADOConnection 放到了 Remote Data Module 以外了.
 
to:QSmile :谢谢,把 ADOConnection 放到了 Remote Data Module 以外,我是为了能动态改变数据库的地址,这样做有什么不好的地方吗?
 
to:QSmile
对的,我的问题基本和asksomeone讲的一样,我也想请问一下asksomeone提出的相同问题,谢谢能给我们一些提示
 
帖子时间搁得太久了,还是先结帖了,再此先谢过QSmile得一些指导,也感谢asksomeone
和网中戏一起参与讨论,在此谢过各位了
 
谢谢,把 ADOConnection 放到了 Remote Data Module 以外,我是为了能动态改变数据库的地址,这样做有什么不好的地方吗?
---------------------
因为数据库连接控件不是线程安全的。在多线程里使用时可能出现问题。
因为 Remote Data Module 就相当于是一个多线程运行的。
一般的做法是,在Remote Data Module 建立时,从设置中读出数据连接的一些参数。
 
后退
顶部