1.3. Working with MS Access

The Microsoft Access database program is a handy tool for MS Office users, but it is not completely ODBC compliant, nor is it a database server. Its design prevents simultaneous updates from outside data sources while the Access program is running, but it can still be used with the DataHub to collect and store data from real-time systems.

File-based Data Access

MS Access is not a database server like MS SQL Server, MySQL, Oracle, and others. Instead, it accesses a data file (.mdb file), reading from and writing data to that file. Other programs like the DataHub can also access the file, but not simultaneously with Access. You can use the DataHub to modify the data file, but any time you open the file in Access, all programs including the DataHub are blocked from using it until you close the file in Access.

What this means is that if you are using the DataHub to interface to a real-time control or financial system and you want mission critical data stored in an ODBC-compliant database, you probably don't want to be using MS Access. However, it could be useful for storing and viewing logged data. And for some it might be a convenient way to start investigating the possibilities of ODBC scripting with the DataHub.

Queries on Primary Keys

MS Access does not support the ODBC function SQLPrimaryKeys, which means you cannot programatically discover the primary keys of an Access database. Thus you will need to identify the primary keys of the tables in the code itself. You will notice in our tutorials that we do just that. Since data table design doesn't change frequently, this should not prove to be a problem in most cases.