Managing large databases under DOS and Win95




I am currently writing a book. Because it is a scientific book, I have to maintain a bibliography. I use the Paradox database application for my bibliography. Because I will need to import this database into my word processor, I use Paradox 4.0 for DOS. The reason for this is that Version 4 of Paradox has a handy save-to-disk feature, which enables you to save tables and reports as ASCII files, which you can later easily import into a word processor. I have Version 7 of Paradox (a Windows application), but because it doesn't have the save-to-disk feature, I don't use it.
My problem is this. Already my bibliography is quite large -- about 500K with about 600 records. I expect that it will get a lot larger -- perhaps 10,000 records in all. That could result in a file that is 10Mb. I am wondering if all of the memory available to Windows (I am using Windows 95) is available to DOS applications in a DOS/Windows box. If it is, then I am OK, because I have about 19Mb of physical memory and all the virtual memory to work with. But if I am limited to DOS's 640K, I will never make it.
I have tried other solutions like trying to print from the Windows version of Paradox to a generic printer in Windows, set up to print to a file, but whenever I try that I get an error message in Paradox: unexpected stack overflow and the system hangs up. I also know that it is theoretically possible to export database data to ASCII files, but I haven't been able to figure out how to do that successfully, so I am stuck with using what I know best, the DOS application in Windows. But I don't know how much future I have doing this.
- Bob Murphy


DOS memory in Windows 95. People who remember the dark old days when DOS was the only PC operating system will also remember the dreaded 640K memory limit. DOS limits programs so that they can only directly use 640K RAM (known as conventional memory) no matter how much RAM is installed in the computer. Special memory managers allow specially-written programs to take advantage of expanded memory and extended memory. The maximum size of this memory is 16Mb.
32-bit Windows 95 applications are capable of directly addressing all the memory in your computer. Because the old DOS programs know nothing of Windows 95 and still address memory in the same way, they will run as they have always run.
I'm trying to remember back to my Paradox 3 days. I can't recall it using extended or expanded memory. But if Paradox 4 can, then Windows 95 can be configured to allow it to use either. Right-click on the Paradox program icon and choose Properties. Then click on the Memory tab. Most of the memory settings will be on Auto. If this is working, leave them as they are. To explicitly provide, say, 4Mb of extended memory, click on the Down arrow in the Extended (XMS) Memory box and select 4096.

Control a DOS app's memory usage by right-clicking its icon and chooing Properties

Databases and memory needs. Naturally there are ways around the DOS memory limits. After all, people had big databases before they had large, powerful computers on their desktops. The amount of memory you have (or your program can use) will in no way limit how large your database can grow. Database programs don't open and close programs like word processors or spreadsheets. The database file or files remain on the hard drive and only relevant records are loaded into memory. Admittedly, once your database size exceeds total memory size queries become slower.
Bringing the results into a word processor. I have been trying to think of ways around using Paradox for DOS. Having moved tables around repeatedly between many packages, I know that this is actually easier than it looks. Firstly, all relational database programs keep data in tables. These data are fairly easily moved from one database program to another without any loss. If you create the data in the Windows version you can still save them for use with the DOS version. Also Word, for example, can directly use several database formats, including Access, dBase and Paradox. In addition, why not leave the data and reports in Paradox and place them into your document using Object Linking and Embedding (OLE)? Sometimes the easiest technique is to select and copy the relevant data or text from the source program and simply paste it into the target program.
- Roy Chambers


Category: Data management
Issue: Jul 1997
Pages: 160-162

These Web pages are produced by Australian PC World © 1997 IDG Communications