Need to convert your old Btrieve databases to some other format? Do not e-mail me, read this instead!

I am sorry to disappoint you, but I do not have time nor knowledge to act as Btrieve user support site. If you have a problem and you can't find solution here or on Pervasive site, please do not ask me to help you out. However, if you have a solution to problem, let me know and I'll publish it here so other people can benefit. I do post my own discoveries when I find something, but I will not investigate your problems.


This is old and non-maintaned Btrieve page. If you want to know why I created it, click here. Btrieve was killed by Novell and Pervasive long time ago, and although it is a shame, it is time to move on. If you are stuck, then feel free to use the information and tools that you can find here...


  1. Btrieve status codes with explanations and suggestions
  2. Feature articles about Btrieve
  3. Books, journals and other reference material
  4. Btrieve development tools
  5. Btrieve FAQ
  6. Btrieve bug reports, fixes and tips

I have collected most of the Btrieve related stuff from other sources for a base for creating the initial pages. However, I hope that other developers on the net will find this site good enough to submit their own material to be included. I'm also open to all suggestions about the content and structure.

Free words of advice

I have changed jobs several times during the years that have passed since I created these pages. I am glad that people still visit my site, and probably find something of use here. However, I have not used Btrieve for many years years. As I wrote in this space once: Things have changed considerably. Not towards better, I'm afraid. IMHO, Pervasive has flushed the original idea down the toilet of time, and while concentrating all their effort their SQL product line, they have lost all the good that Btrieve used to be - small, fast, and reliable, simple to use database engine. Granted, much of the loss is caused by increasing complexity and unreliability of the platforms they use (Netware since 4.x is not what it was at the time of 3.12, and we all know how it is with Micro$loth). However, it is possible to create products that do not require a Nobel Prize winner to set up and maintain. Remember the time when you would run BREQUEST.EXE, and then your application on top of it? Well, these times are gone forever. Instead of doing useful work, you need to sort through a pile of DLL's, some from Pervasive, some from MS, some from Novell; keep track of which version works with which version of other manufacturers offering, and which set of these works with your networking environment and your other applications. My advice today is simple:

  1. If you can live with DOS and Netware 3.12 for your application, dig out your old copy of BREQEST.EXE and do it.
  2. If you need SQL, take a look at MSQL or MySQL running on Linux server. At least MySQL has ODBC drivers. Or even use MS SQL, if you really want to throw your money at a problem at hand. At least you will have only one manufacturers DLL-s to wrestle with.
  3. If you do not need SQL, look around for some other database engine that you can link into your code without a need for system-wide DLL's which are out of your control (I wonder what happened to Codebase?).

Copyright © Madis Kaal 2000-