From: Phil!Gregory
Date: 20:30 on 12 Nov 2003
Subject: Borland's Bloody Database Engine
*This* one continues to cause me many headaches and provokes the desire to
kick someone in the head.
As I may have mentioned, I use databases comprising Paradox tables,
accessed through the Borland Database Engine. The BDE's approach to file
locking is nothing if not annoying. When it wants to lock something
(table, record, whatever), it creates two files in the same directory as
the table, PARADOX.LCK and PDOXUSERS.LCK. These reference a third file,
PDOXUSERS.NET. In order to share files among processes or computers, all
three of these files must be visible to all computers. But PDOXUSERS.NET
usually lives in C:\, so it's a different file for each computer. Gah.
But that's okay; it's configurable. I can change the location of that
file in my program, so each department can have its programs all sharing
the same PDOXUSERS.NET file, which lives on a network share.[0] I can
change the file location for the entire computer, too, but what I *can't*
do is set it on a database-by-database basis. This leads to much
annoyingness as I try to access several different databases, each with its
files in different places.
Why couldn't Borland have just put all of the files in the database's
working directory? ARRRRGH!
[0] Oh, and I have to set LOCAL SHARE to TRUE. The default setting of
FALSE doesn't allow network-shared tables and can result in database
corruption even on a standalone computer. I discovered both of these
facts the hard way. It's the default because occasionally it results
in faster database access. <kick>
Generated at 10:28 on 16 Apr 2008 by mariachi