Jet Access

VistaDB is a replacement for Microsoft Access on the desktop

VistaDB was designed from the ground up as an alternative database engine for developers using the Access runtime components to manage data through managed code. If you are running .Net applications with Access as your backend database, you should review VistaDB as an alternative.

VistaDB is not a replacement for Microsft Access as an end user desktop forms application and it is not designed for end-users or VBA developers using Microsoft Access to build applications. If you have forms, linked tables and other Access only objects in your databases you will have to migrate them to .Net applications first.

VistaDB as an alternative to Microsoft Jet

VistaDB makes an excellent alternative to the Microsoft Jet database engine. VistaDB is actually smaller and easier to deploy than Jet, but allows the same level of functionality in the managed application space. If you are developing VB.net or C# applications and need a desktop SQL database engine to replace Jet look no further than VistaDB.

VistaDB provides support for single and multi user environments, and cross platform support with Mono.

Microsoft Access is not a data engine by itself, it is actually an application that uses the relies on the Microsoft Jet engine to perform the actual data storage and retrieval on the .MDB data files. The Jet engine was originally designed as a single-user desktop database engine, which as most developers know, does not work well in multi-user and web server applications.

Deprecated MDAC Components

Jet: Starting with version 2.6, MDAC no longer contains Jet components. In other words, MDAC 2.6, 2.7, 2.8, and all future MDAC releases do not contain Microsoft Jet, Microsoft Jet OLE DB Provider, or the ODBC Desktop Database Drivers. No new feature enhancements will be made to Jet.
Source: Microsoft

A very important point to understand, and one that most developers do not realize, is that Microsoft has deprecated the Jet database engine, which means developers will not see substantial improvements to Jet in the future. From the Microsoft MDAC Roadmap page under "Deprecated MDAC Components"

VistaDB can run 32 and 64 bit from a single .Net assembly!

As of Office 2010 Microsoft introduced a 64-bit version of Access but if you want to deploy on 32-bit and 64-bit you will have to distribute both with your application and have the user install the appropriate engine.  If a user installs their own version of Office it may overwrite the common settings that control which engine is invoked, breaking your application. 
In comparison, VistaDB uses a single file for 32 and 64-bit ensuring that you don't need to worry about what architecture your application is running on.

Microsoft Jet Database Engine and DAO Licensing

The following explains Microsoft's licensing for distributing solutions that use Microsoft Jet and DAO:

  • If the developer builds a solution in an application that includes Jet but does not have a runtime version, for example Microsoft Excel or Microsoft Office, they must purchase and install a copy of the application on each user's desktop for their solution to run correctly.
  • If the developer builds a solution in an application that includes Jet and provides a runtime license or compilation, for example Microsoft Access (with the Microsoft Access Developers Toolkit), Microsoft Visual Basic, or Microsoft Visual C++, subject to the end user license agreements accompanying each of these products, they can build and distribute their solution to users with a runtime version or as a compiled application (.EXE). 3.
  • If the developer builds a solution in an application which does NOT include Jet, but relies on Jet, (for example, Microsoft Project or Microsoft Visual FoxPro™) they face two requirements. First, they must adhere to the license agreement for the application they used to develop the solution. Second, they must purchase and install a copy of a Microsoft application or tool which DOES include Jet on the user's desktop.

Jet History

Developed in the early 90's, the Jet engine is over 15 years old. It was never designed to manage today's data storage demands. As many developers have experienced, Jet is generally not a good solution for creating robust database applications because it is notorious for crashing and corrupting data in multi-user environments.

Microsoft Access was designed to be an end-user application and the .MDB Access database files is an inefficient storage format since it is designed to support non-essential data such as end-user forms, reports and modules. In summary, the Jet engine and the .MDB file format is simply not robust enough for today's complex network configurations and demanding data requirements.

The following link provides history on the Jet engine: http://www.avdf.com/nov96/acc_jet.html

Future of Jet

With the nail in the coffin for the Jet engine, it is clear that developers must look to use an alternative database solution. Microsoft's solution for replacing Jet is to have developers migrate their Access databases to the SQL CE, or SQL Server Express.

Install SQL CE or SQL Server Express as Upgrade to Access runtime?

Microsoft recommends all Access developers migrate to SQL CE or SQL Server Express on the desktop. This sounds great, however, this is generally overkill for most desktop and small network applications. SQL CE, and SQL Server Express are both powerful databases but they are simply too big and too complex for for most Access line of business applications.

SQL CE still has complex deployment scenarios when mixing 32 bit and 64 bit targeted environments (and who wants to maintain 2 editions of their product?).

SQL Server Express 2008 is over 250 MB worth of download (and comes in 3 different editions depending upon CPU and other options), and requires complex setup scripts to automate the install. Even with automated install tools most desktops require a minimum of 2 reboots during install and then the service packs still have to be applied!

With VistaDB's less than 1 MB footprint, developers can actually reduce the original size of their Access based applications by over 50MB and use basic XCopy and FTP to deploy their applications. Serverless deployment and zero configuration makes VistaDB the ideal replacement for Jet.

Microsoft Jet is not intended to be used with high-stress, high-concurrency, 24x7 server applications, such as Web, commerce, transactional, and messaging servers. For these type of applications, the best solution is to switch to a true client/server-based database system such as Microsoft Data Engine (MSDE) or Microsoft SQL Server. When you use Microsoft Jet in high-stress applications such as Microsoft Internet Information Server (IIS), customers have reported database corruption, stability issues such as IIS crashing or locking up, and also a sudden and persistent failure of the driver to connect to a valid database that requires re-starting the IIS service.
Microsoft