 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
forums.inprise.com Guest
|
Posted: Wed Feb 21, 2007 7:20 pm Post subject: multi-tier app freezing + migration questions |
|
|
I got a very strange problem with a datasnap (midas) application written in
Delphi 4.02 :
The application uses midas socket connections with Tclientdataset (connected
with datasource, dbgrid and other stuff) for the client side. On the server
side (physically on a separate "big" computer), we have several COM servers
(based on TRemotedatamodule components) connected to a local Paradox
database, using a BDE Alias. Of course, scktsrvr.exe is running on this
server computer. It may have up to 10 or 20 clients computers simultaneously
connected to the server, each one using up to 4 or 5 Tmidasconnection
connected to scktsrvr. In fact, no more than 10 concurrent connections to
the socket server are really effective.
We had had some problems wih paradox but all were solved, step by step,
sometimes by using workarounds (like systematically reindexing tables, or
periodically stopping the Com server in order to free ther memory).
But there's a new stange problem : sometimes the application hangs on the
sever. And it's very strange. The application seems to be freezed but in
fact, it is running, but, suddenly, very very slowly. It 's looks like when
a process is using 100% of the cpu but no such process at all can be found
in the windows task manager. Windows (2000, up to date) itself is affected
and all become slow (menu, reduce or change windows, etc.)
If I kill the server processes runing on the server it's ok all is coming
back OK. So it comes from my app : midas, BDE, mabe my code ....
Do yo know what can be the reason on this strange problem ?
In some other times. The application become really frozen. And in this case,
I'm sure that it come from the BDE. Indeed, if I run dbd32.exe or
bdeadmin.exe they both ar running (seen in task manager) but in a frozen
mode and the suddenly reappears on the desktop when I stop one of my Com
processes running on the server (and frozen too). It is not always the same
Com process that resolve the problem when it is killed.
Same question ? have you an idea of the cause ? How can I investigate ?
I'm trying to migrate the App on Delphi 6 and plan to get rid of the BDE
(using Advantage Server or other database) and I have another question :
What is the quickest way to migrate from midas to datasnap.
I used some Tmidasconnection connected to D4 RDM with Tclientdataset
connected to Tprovider components.
Now I have to use Tsocketconnections connected to D6 RDM wih Tclientdatast
connected to Tdatasetprovider (no Tprovider in D6).
I try do make my own Tprovider inherited from Tdatasetprovider because
bdeprov.pas doesn't exist in D6. Is is a correct way ? Is there another
better ?
Thanks for your help. |
|
| Back to top |
|
 |
Esteban Pacheco Guest
|
Posted: Fri Feb 23, 2007 7:53 am Post subject: Re: multi-tier app freezing + migration questions |
|
|
Hello,
I will try to give my input bellow:
| Quote: | ....
Do yo know what can be the reason on this strange problem ?
|
There are documented issues with previous implementations of the
socketsvr.exe included with Delphi, specially if you work with comptuers
with multiple processors. You can check Quality Central to get details.
Socketsvr got several fixes on the latest versions of Delphi (Delphi 2006).
Try looking on the QC for issues, I even remember a patch done by someone to
it. Also as general improvements to your application, If you are not using
Delphi 2006, make sure to use the latest Midas.dll, it is backwards
compatible and you are allowed to use it. (http://www.distribucon.com/)
Also, I recommend to use MidasMemPatch, if you are not using at least D2006.
(Google for it)
| Quote: | In some other times. The application become really frozen. And in this
case,
I'm sure that it come from the BDE. Indeed, if I run dbd32.exe or
bdeadmin.exe they both ar running (seen in task manager) but in a frozen
mode and the suddenly reappears on the desktop when I stop one of my Com
processes running on the server (and frozen too). It is not always the
same
Com process that resolve the problem when it is killed.
Same question ? have you an idea of the cause ? How can I investigate ?
I'm trying to migrate the App on Delphi 6 and plan to get rid of the BDE
(using Advantage Server or other database) and I have another question :
What is the quickest way to migrate from midas to datasnap.
I used some Tmidasconnection connected to D4 RDM with Tclientdataset
connected to Tprovider components.
Now I have to use Tsocketconnections connected to D6 RDM wih Tclientdatast
connected to Tdatasetprovider (no Tprovider in D6).
I try do make my own Tprovider inherited from Tdatasetprovider because
bdeprov.pas doesn't exist in D6. Is is a correct way ? Is there another
better ?
|
If Im not mistaken , check what properties you will lose, but you can just
go to the DFM and rename the existing TProviders to TDataSetProviders, I
dont think you should have an issue with that. The migration should be
close to seemless and you will get lots of benefits. From Delphi 4 to 6
there were LOOOOTS of changes and improvements if i recall correctly. Now
if you go to D2006, well, you will love it Better yet if you jump
straight to D2007.
| Quote: | Thanks for your help.
|
Your welcome, hope it helps.
Att.
Esteban Pacheco
http://estebanp.blogspot.com
A Delphi Programming Blog
www.epachsoft.com |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|