Dave
2005-06-27 18:53:01 UTC
I am running web services (created with Delphi 4 Client/Server) on a Windows
2003 server.
These services are compiled as CGI Standalone Executables (i.e. {$APPTYPE
CONSOLE})
On the same machine, I am also running some TCP/IP Client/Server
applications.
With all these applications, I capture exception events and log them to my
error reporting systems.
I have a service application designed to monitor several web sites. Each
site works the same as all other sites, except that each site has it's own
database.
This monitor program executes a url at each site (one site at a time, one
second apart). The web service simply tests the BDE connection by executing
an sql to the paradox table and either returns the successful result or
returns an exception.
For a while all sites are monitored successfully then all at once every site
returns an exception: "Cannot Initialize the Borland Database engine".
It appears that sometimes, another web service application returns an
exception: "Directory Is Busy" when trying to access an MSSQL database. This
is an unrelated application.
At the same time, other BDE applications, some running as services and some
running on the console session also become frozen.
The Database Desktop, however is able to open tables most of the time, but
sometimes also hangs up.
The only common thing here is that it appears to be a meltdown of the BDE
because of "something".
The only way to clear this is to enter the task manager and to delete all
BDE applications.
What is going on here:
1st, I don't beleive that Net Dir settings are to blame. The application
dynamically creates its own session, using a tSession component. Setting the
Net Dir to a single directory on the machine that all applications use. The
private directory is set to the the same folder as the executable.
The Anonomous user has been granted Administrative priveleges (in order to
rule out security rights).
I am using BDE Version 3.0
I have set the BDE INIT to the following:
Language Driver: Paradox Ascii
Local Share: True
Low Memory Usage Limit: 32
MaxBufSize: 2048
MaxFileHandles: 4096
MemSize 16
MinBufSize: 128
MTS Pooling: True
Shared Mem Location: Blank, no value
Shared Mem Size: 20480
SqlQueryMode: Blank no value
I had tried a configuration using all default values of the BDE Init
Settings and still have the same problems.
I wish I had complete documentation on what are all the possible situations
that can cause this error
I would really like a solution to this, not a workaround.
FYI,
I have just purchased Delphi 2005 and have so many issues with it, it will
be months before I can upgrade these applications and dump paradox all
together.
Perhaps if upgrade the BDE?
2003 server.
These services are compiled as CGI Standalone Executables (i.e. {$APPTYPE
CONSOLE})
On the same machine, I am also running some TCP/IP Client/Server
applications.
With all these applications, I capture exception events and log them to my
error reporting systems.
I have a service application designed to monitor several web sites. Each
site works the same as all other sites, except that each site has it's own
database.
This monitor program executes a url at each site (one site at a time, one
second apart). The web service simply tests the BDE connection by executing
an sql to the paradox table and either returns the successful result or
returns an exception.
For a while all sites are monitored successfully then all at once every site
returns an exception: "Cannot Initialize the Borland Database engine".
It appears that sometimes, another web service application returns an
exception: "Directory Is Busy" when trying to access an MSSQL database. This
is an unrelated application.
At the same time, other BDE applications, some running as services and some
running on the console session also become frozen.
The Database Desktop, however is able to open tables most of the time, but
sometimes also hangs up.
The only common thing here is that it appears to be a meltdown of the BDE
because of "something".
The only way to clear this is to enter the task manager and to delete all
BDE applications.
What is going on here:
1st, I don't beleive that Net Dir settings are to blame. The application
dynamically creates its own session, using a tSession component. Setting the
Net Dir to a single directory on the machine that all applications use. The
private directory is set to the the same folder as the executable.
The Anonomous user has been granted Administrative priveleges (in order to
rule out security rights).
I am using BDE Version 3.0
I have set the BDE INIT to the following:
Language Driver: Paradox Ascii
Local Share: True
Low Memory Usage Limit: 32
MaxBufSize: 2048
MaxFileHandles: 4096
MemSize 16
MinBufSize: 128
MTS Pooling: True
Shared Mem Location: Blank, no value
Shared Mem Size: 20480
SqlQueryMode: Blank no value
I had tried a configuration using all default values of the BDE Init
Settings and still have the same problems.
I wish I had complete documentation on what are all the possible situations
that can cause this error
I would really like a solution to this, not a workaround.
FYI,
I have just purchased Delphi 2005 and have so many issues with it, it will
be months before I can upgrade these applications and dump paradox all
together.
Perhaps if upgrade the BDE?