Data Provider Concepts

Prior to WRDB 5.0, only one "data provider" was supported: Paradox. A data provider refers to both the type of database server or file format the data will be stored in and the software (or drivers) used to access that data.

There are three types of data providers used by WRDB:

Table Storage: Paradox was unique in that tables stored in multiple databases (e.g., subdirectories) could be simultaneously accessed; that is, you could "join" tables from multiple directories to create reports, etc. (e.g., to connect the Station ID to the Station Name). Consequently, earlier versions of WRDB were designed to segregate tables into Working, Master, Shared Support, and Project Support directories, each containing multiple tables. Using Paradox Runtime and BDE, it was possible to have multiuser access by placing the tables on network drives (and configuring BDE appropriately).

All modern databases are more restrictive (two steps forward, one step back): you can only join tables contained in the same database, and file-based providers (including Paradox), have limited ability for multi-user access.

Note: although this is also true for the new Paradox provider, WRDB simulates the former behavior by copying Support tables as needed to perform join operations and then deleting them. This adversely affects performance, but maintains a high level of backwards compatibility.

Therefore, all Working, Master, and Support tables are stored within the same database. This imposes the following limitations compared to earlier versions of WRDB:

  1. All table names within a project must be unique because you cannot separate them into subdirectories.

  2. You cannot use Windows Explorer to manage your tables (e.g., moving, copying, and deleting).

  3. If multiple projects are stored in separate databases, they cannot share Support tables in real time (i.e., with constant synchronization). If you want to share Support tables, you need to either store multiple projects within the same database, or manually synchronize the Support tables when they change.

The following features have been developed to mitigate the above limitations:

  1. The Database Explorer has been developed to help you manage your databases, including features to copy, rename, delete, import, export, and merge tables.

  2. The Tracking table has been enhanced to allow you to assign table group names which can be used to filter the table list when there are large numbers of Working tables. See WRDB Projects, Tables, and Databases.

See also Data Provider Implementation Notes and Choosing Your Data Provider