ISAPI and BDE over DBF

Posted on 2001-06-06
Medium Priority
Last Modified: 2013-11-23
Hi all, here it is:

There's a NT4 SP6a, IIS4 machine, dual P3. On that, some legacy DBF tables are presented via Web interface using ISAPI DLL's written in D3 and running over BDE 4.51. The ISAPI DLL's are using CachedConnections=true currently with a pool of 50 connections.
It used to work, but lately we had to increase the pool size due to higher requests volume and increased query response time (prev pool size was around 10).
Now after some time (about 2 hours after full restart), the whole thing locks. After restarting IIS, the static pages are OK, the dynamic ones are failing and other BDE apps are failing, too, meaning that BDE got sick. The only way to restore operation is full server restart.

Any suggestions? Anyone saw that before?

Question by:fva

Expert Comment

ID: 6166701
Be sure to use the session component before opening any tables.
Verify that all tables are closed correctly.

Author Comment

ID: 6166812
Hi, BuD, welcome to ExEx.

Sorry, I have to reject your proposed answer. We DO use TSessions and closing the tables is not an option because that's why we are using CachedConnections in the first place: to reduce latency on new requests. Closing the tables would nullify that.

Thank you for trying, but your opinion would have fit better as a comment, not as an answer. Seeing that you are new around, I do not take it hard and neither should you my rejection. Usually, answers are posted _only_ where you are pretty sure that the proposed answer _will_ solve the problem. Unless that holds, you'd be better off posting comments. It's a custom around here.

LVL 17

Expert Comment

ID: 6166934
Hi fva,
I'm sorry for my stupid question but anyway:
What pool do you have in mind? Is it MaxConnections property or something else? Where in the code are you setting this value?

Regards, Geo
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.


Author Comment

ID: 6167031
Yes, it's MaxConnections and it's set in the main project file, right at the top (almost before anything else or right before anything else).


Accepted Solution

MaxSCZ earned 450 total points
ID: 6178124
May be Insufficient memory error upgrade your BDE version to 5.01
bye Max
Look at this from Borland :

Area: paradox and dbase
Reference Number: 36 (Published: 03/25/98)

Status: Fixed
Sub Area: Database

Date Reported: 11/06/97

Severity: Infrequently Encountered

Type: Basic Functionality Failure


Opening 8 TDatabases all connected to 8 different
TSessions results in Insufficient memory error.
Opening the TDatabases without their own  
sessions works fine.


Author Comment

ID: 6180073
Thanks, I'll try that and I'll get back to you. (hope it won't break the server; in that case it'll take a litle longer to hear about me :) )


Author Comment

ID: 6223677
Well, it seems that no-one is adding any comment to this (normal, due to my comment above), so I'll have to close it, even if I'm no smarter after this Q.

MaxSCZ, we did upgrade BDE, but at the same time we made extensive changes in the inner workings of the DLL, making it to respond faster. Now it works somehow (not great, only somehow :) ). Therefore I cannot say if the upgrade really helped (in the first place it broke the whole thing) or if the rewrite itself was helpful.
I'm going to give you the points anyway; thank you.

In the long run, we are going to dump BDE and choose another way to access data (together with a data platform migration to a better DBMS).


Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Free Data Recovery software is an advanced solution from Kernel Tools to recover data and files such as documents, emails, database, media and pictures, etc. It supports recovery from physical & logical drive after a hard disk crash, accidental/inte…
Did you know PowerShell can save you time with SaaS platforms? Simply leverage RESTfulAPIs to build your own PowerShell modules. These will kill repetitive tickets and tabs, using the command Invoke-RestMethod. Tune into this webinar to learn how…

587 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question