* Posts by david

1 publicly visible post • joined 29 Dec 2006

Access isn’t a relational database


transactions, version 4.0

Access version 1.1 had transactions, not just Access (Jet) 4.0. I know that, not because I used 1.1, but because the slight differences with 2.0 were noted. Jet 4.0 introduced the ADO interface. ADO must be used instead of Jet transactions against Sql Server, but only because Jet 4.0 broke the existing interface. A misguided 'optimisation' puts different parts of the transaction onto different server connections when using the native ODBC connections.

As a matter of interest, the transaction file is technically a jet database file, which puts the same file size limit on transactions.

A more serious limitation is that Jet actions and transactions are not 'atomic' or 'durable' (and hence not ACID). Jet actions and transactions are not atomic because of various misguided optimisations introduced in Jet 3: they are not durable because the database primitive provided by the operating system was disconnected when Win32 disk caching was introduced.