Board index » delphi » Serious reproducible BDE Errors

Serious reproducible BDE Errors

We have an application which on a timer event
will spin off a bunch of threads doing some
database work on a multi-processor MS SQL 6.5
server.  This application is running on the
server itself.

This server also has IIS 2.0 on it.  While the
application is "working" the database, several
CGI applications, using BDE can be started (these
are simple "report" type CGI).
Occasionally while running the CGI applications
the BDE "locks up".  Any application running BDE
will get an "unable to initialize the BDE".  In
effect, no BDE applications will work until the
original application is shut down.  

Because of the multitude of problems found using
Delphi w/BDE and ISAPI, we converted them to the
previously mentioned CGI, but it seems we have
found another problem...

How can an application disturb the BDE such that
all other applications will not work?  I get only
an EDatabaseError, and I can't seem to get more
information about the state of the BDE (i.e. why
it couldn't be initialized)...

I have been using Delphi since the 1.0 beta with no
Problem, but given the ISAPI problem, coupled with
this current problem, I am really worried... I have
already blown an inordinate amount of time trying to
track these problems down; to be more time efficient
I may need to start looking into other alternatives.

1) What is the limit of the number of simultaneous connections?

2) What can I do programmatically to lock up the BDE?

3) How do I determine better the exact reason it is locked up?

4) Is there documentation, from Borland, which describes things
to look out for, BDE configurations settings, ISAPI/CGI thread
issues.. something?  It seems I see conflicting advice in the
newgroups, but I have seen more documentation (write or wrong)
from people personal web sites.  I would like to see a solid
article which describes exactly how to create ISAPI/CGI applications
for our environment (MSSQL Server, multiprocessor, IIS ) which
is "bulletproof".

5) I assume that the BDE4.51 is capable of being used in a IIS
   multi-processor, many simultaneous user environment..?

This is easily reproducible and occurs with the latest 4.51 drivers.

Thanks for any help..

Ted Houts
ted.ho...@mci.com

 

Re:Serious reproducible BDE Errors


Hello,

Quote

1) What is the limit of the number of simultaneous connections?
<<<
Connections.  Do you mean BDE sessions, database connections, BDE
clients?  look at:
http://www.borland.com/devsupport/bde/ti_list/TI2751.html

Quote

2) What can I do programmatically to lock up the BDE?
<<<
You can do nothing, but if the BDE crashed or errors out in the middle
of a critical section, mutex, or semaphore, then there can be some
problems.

Quote

3) How do I determine better the exact reason it is locked up?
<<<
Borland recognizes that there are problems with multiple applications
initialize the BDE all at once.  These problems can be DRAMATICALLY
reduced by increasing SMAREDMEMSIZE and MEMSIZE values in the BDE config
tool and upgrading the BDE to v4.51:
http://www.borland.com/devsupport/bde/bdeupdate.html

Quote

4) Is there documentation, from Borland, which describes things
to look out for, BDE configurations settings, ISAPI/CGI thread
issues.. something?  It seems I see conflicting advice in the
newgroups, but I have seen more documentation (write or wrong)
from people personal web sites.  I would like to see a solid
article which describes exactly how to create ISAPI/CGI applications
for our environment (MSSQL Server, multiprocessor, IIS ) which
is "bulletproof".
<<<
Unfortunatelly, I know of no document like that.  the best knowledge
comes from people who are doing this currently; the newsgroups.

Quote

5) I assume that the BDE4.51 is capable of being used in a IIS
   multi-processor, many simultaneous user environment..?
<<<
Yes it is.  The BDE would use less memory and be faster in an ISAPI
scenario rather than CGI.  Remember to set the IsMultiThread global
variable to TRUE when doing ISAPI applications.

Quote

This is easily reproducible and occurs with the latest 4.51 drivers.
<<<
I hope that the server has at least 64MB of RAM?  If so set
SHAREDMEMSIZE to 8192 and MEMSIZE to 32.

  Hope these suggestions help,
Scott

--
BDE Support:
 http://www.borland.com/devsupport/bde
Delphi Support:
 http://www.borland.com/devsupport/delphi
Common Delphi and BDE Questions and Answers:
 http://www.borland.com/devsupport/delphi/qanda/delphi3qa.html

Other Threads