Take the 2-minute tour ×

Here's the situation:

A user of our program suddenly started receiving an error from the Borland Database Engine (BDE) when attempting to start the application. The error message says that it was unable to initialize the BDE and gives error code $251e. User is on BDE

I cannot find any official documentation on the error $251e. The only somewhat useful hit I can get on Google is not very instructive and the suggestion there does no good.

Here are some things that we have tried / discovered:

  1. Other applications that access the BDE the exact same way have no complaints.
  2. The error occurs on a line where we set Connected := True on the TDatabase component.
  3. Reinstalling the BDE makes no difference.
  4. Closing all BDE apps except the one in question makes no difference.
  5. Changing from using an MSSQL database to a Paradox database makes no difference.
  6. Making the logged in user a member of the Administrators group on the workstation makes no difference.
  7. The typically logged in user is a domain user.
  8. Logging in as a workstation administrator (non-domain) account that was originally setup on the machine as a last resort administration account, all works fine.
  9. Creating a new workstation user with local admin rights, the problem returns.

The user has been temporarily allowed to use the one workstation admin account that actually works, but this is not an acceptable long-term solution. Any idea where we might go from here? Any clue as to what $251e really means?

I know that the BDE is way out of date and no longer supported, but changing the use of the BDE is not an option right now.

share|improve this question
Try reinstalling BDE Engine. –  user268527 Feb 8 '10 at 9:18

8 Answers 8

You might have better luck searching for the error here..


A common culprit seems to be a conflicting device driver.

Good luck

share|improve this answer
Nice, I was not aware of this search engine. At least I've got a list of fresh ideas to try out... –  Scott W Dec 16 '08 at 20:56

I am not sure, because I don't use BDE for lot's of years, but here are some hints and links:

Error $251E means "Insufficient shared memory available"

Proposed solutions:

  • Increase SharedMemSize to 4096 or 8192
  • Change SharedMemLocation to 0x5BDE.
share|improve this answer

Turn off uac and add the setup.exe and regsvr32.exe to DEP.

share|improve this answer

look on codegear's web site. some time ago i saw an article about the memory layout for this shared memory and ways to resolve a problem like this. it's an ugly business but there was a good article on this. sorry, i can't find it offhand.

share|improve this answer
up vote 0 down vote accepted

After using www.fulltextsearch.com to read through hundreds of messages regarding 251e (thanks for the pointer KevinRF), we came up with a list of about a half-dozen new things to try.

Turns out the user had turned on compatibility mode (right-click exe file, choose Properties, Compatibility tab) for the program in question. Turning compatibility mode off for the application resolved the error.

Thanks to all for the suggestions!

share|improve this answer
Ha! Users!!! They always find new ways to screw up the application !! :-) hehehehe –  Fabricio Araujo Dec 18 '08 at 18:29

Wow, I tried a lot of tactics to try and solve this problem, and it was the same. Compatibility mode. Disabled the compatibility mode and the problem is gone for good.

share|improve this answer
Glad this information could be of help. SO works! :) –  Scott W Jun 2 '09 at 15:06

If your executable is with the tables (same directory), try putting it in another location.

share|improve this answer

You can also Try to rename the Executable file name, had the same problem, I know it sounds strange but it worked for me.

share|improve this answer

protected by Community Dec 31 '12 at 15:40


Would you like to answer one of these unanswered questions instead?
