Replace Btrieve? -
02-01-2007
, 09:37 AM
We are using an ancient database engine called Btrieve. There used to be a
company called Btrieve after being sold by Novel, but later changed their
name to their current name, Pervasive.
The problem with the Btrieve 6.15 engine is its age and it's no long
supported. So I'm looking for a replacement that supports at least the same
feature set as Btrieve and I'm wondering if Berkeley DB can do that job.
All our Btrieve calls are in one DLL, so my goal is to replace that DLL code
in a way that doesn't affect the hundreds of applications that use that DLL.
In order to do that, Berkeley must support the same basic record and key
types that Btrieve does.
So can Berkeley do this?
For most of the databases, the record length is fixed. The record consists
of bytes of binary data (0x00 - 0xff) that is unterminated.
The records can consist of multiple keys (indexes).
Some of the keys support duplicates, some do not.
Keys must support multiple segments. That is, key 0 (for example) might be
the record bytes 0-12, 25-30, and 14-20 (in that order) concatenated to form
a single key.
Most key segment types are binary bytes (i.e. compared with memcmp) but a
few are integer in type (little endian).
For some of our files, variable record length is required.
Can Berkeley do this?
Thanks very much for any help.
Bruce. |