Chapter 3. Connecting to Database Servers

Rekall does not itelf incorporate a database, as, for example does Microsoft Access with the Jet database engine. Although Rekall comes with an XBase library (which comprises the actual XBase library and a wrapper library which provides an SQL interface), this is not part of Rekall, any more than a MySQL or PostgreSQL server is. Hence, Rekall must be told how to connect to a server database before it can do anything useful.

From Rekall's point of view, everything starts at a single file which by has the extension .rlk [5]. This file is a simple text file, which, as of Rekall 1.0.5 is in XML format (prior versions used a bar-delimited file, but this is automatically converted). The file only contains information about connections to server databases; in this respect it is nothing like the .mdb files created by Access. You can copy the file or examine it with a text editor; you can even edit it by hand.

Rekall takes the view that this file is what the end-user thinks of as the database. Just as a user can open a word processing document in a word processor, or a speadsheet document in a spreadsheet program, this file can be thought of as a database document that is opened by a database program. Of course, the real server database may be being accessed from lots of places (over a network, through a web server, whatever). Actually, the Rekall database file could be opened by several instances of Rekall (for instance, if it is stored on a file server), but all issues relating to multiple concurrent access to data is handled by the server database.

The database file contains information about one or more server databases. Usually, it will contain information about a single server database, but there is no limit. In fact, if you have more than one server database, it is even possible to design forms that access data from more than one server database (but more on this later).

The Server Dialog

The first time you run Rekall you will get an empty window. Click the New Database tool (or select File/New Database from the menu), then select a directory and a file name, just as you would do for a new work processing or spreadsheet document; this gives the location and name of the database file. The one difference is that you should probably create a new directory and locate the database file there - why you want to do this is explained a bit further on.

If you create a database file called Orders, then a dialog will appear in the window, as illustrated in the screenshot below. The tabs down the left-hand side correspond to the various components of Rekall; tables, forms, etc. The first tab, Servers displays the information about server databases, which is what is in the database file.





[5] For historical reasons, the extension .kdb is also available, but preferably should not be used.