Client/Server-Enabling WinQL 2.0

by Michael J. Bergeron
Data Access Corporation Technical Support

WinQL is distributed with a version 5.x Btrieve local record manager .DLL called WBTRCALL.DLL (hereafter called "WBTR5"), which is approximately 50K in size. WBTR5 allows WinQL to fully access version 5.x Btrieve data files from within WinQL. WBTR5 is not able to read version 6.x Btrieve data files, such as those very commonly produced by DataFlex for Btrieve in a Novell Network environment. This document discusses a means to client/server-enable WinQL to read version 6.x (or lower) Btrieve data files from a Novell Network which has the Btrieve .NLM loaded (hereafter called the "NLM").

File Acquisition

The first thing you need to do is search your network for certain files you will need. The most common location for these files, if they are installed on your network, is somewhere in the SYS volume's SYSTEM or PUBLIC subdirectory trees. The files you're looking for are:

     WBTRCALL.DLL (approximately 13K in size)
     WBTRVRES.DLL (approximately 20K in size)

A word of explanation:

BREQUEST.EXE (hereafter called "BREQUEST"): The DOS Btrieve requester. Windows Btrieve client/server applications require the DOS Btrieve requester be loaded into memory before running Windows.

WBTRCALL.DLL (hereafter called "WBTR6"): This is a version 6.x Btrieve requester .DLL. It should not be mistaken for WBTR5 and can be distinguished by its size (13K, as opposed to 50K).

WBTRVRES.DLL (hereafter called "VRES"): This is a resource file for WBTR6.

WNDBCNVT.EXE (hereafter called "CNVT"): The Novell Database DLL Conversion Utility. This is a small Windows application program designed to convert WBTR5 into WBTRLOCL.DLL (hereafter called "LOCL"). Simply renaming WBTR5 is probably not sufficient; it should be converted using CNVT.

NOTE: If you are unable to locate the above files on your network or on any diskette masters included with Novell NetWare, you must obtain them from another source. I once found a copy of them on CompuServe in the NOVLIB forum ("GO NOVLIB"). They were in a Btrieve files section, contained in an archive entitled BTRREQ.EXE.

Once you have all of the above files, proceed to the next step.

The Enabling Procedure

The following steps will enable WinQL to perform Btrieve client/server access:

Runtime Procedure and Notes

To use WinQL to read Btrieve files in client/server mode, *BREQUEST must be loaded before running Windows*!

An important note to make here is that the fact that BREQUEST is already in memory will inhibit your ability to load BREQUEST in a DOS window: it will report "already loaded" and will not load. In order to successfully load BREQUEST in a DOS window after having loaded it before Windows, you must use "BREQUEST /L" to force it to load in successive DOS windows.

Another important note to make here is that, if you intend to use client/server Btrieve applications in a DOS window, *BREQUEST must be loaded into each such DOS window*! If a DOS application is allowed to access Windows' copy of BREQUEST (the one loaded before running Windows), your computer may hang or reboot. Make sure each DOS window gets its own copy of BREQUEST before using a DOS-based client/server Btrieve application in it.

Any other Windows Btrieve application you may have on your computer may have installed a copy of WBTR5 (and/or WBTR6) in its application directory or in your WINDOWS or WINDOWS\SYSTEM directory. It is a good idea to hunt around for other copies of the above files to see if any of them might get in the way. Usually, any of these WB*.DLL files that are limited to an application directory (as opposed to WINDOWS or WINDOWS\SYSTEM) will not get in the way *as long as the other application is not currently running*. Another Windows Btrieve application which is currently running with WBTRCALL.DLL would cause WinQL not to load WBTR6 (since the names are the same), but instead use the one already running. For that reason, it is prudent to avoid having multiple Windows Btrieve applications running simultaneously.

Copyright © Madis Kaal 2000-