The most widely used desktop database in the world is Microsoft Access, which is
an end-user application that allows programmers and non-programmers alike to create
full featured database applications easily. Microsoft Access uses .MDB data files,
which in addition to storing regular data, can contain forms, reports and other
objects specific to Access.
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"
Access and JET are not 64 bit compatible
There is no 64 bit version of Access, or the runtimes. If you wish to load Access
data in your application you MUST make the application 32 bit only.
64 bit operating systems are here today, applications that target 32 bit only machines
will be viewed as obsolete by customers.
You cannot develop a 64 bit application that uses JET
Microsoft has already publicly stated that there will be no 64 bit JET or Access
runtimes. Visit a local electronics store today and see how many non
64 bit Windows machines you can find. At a recent visit to Best Buy I could
only find 3 machines that came with 32 bit Windows Vista.
64 bit servers are also now common place for even shared hosting providers.
If your asp.net application is built to use Access runtimes it will not on a 64
bit IIS installation. The hosting provider will have to specifically run a
32 bit only version of IIS in order to support your application.
WOW Emulation of 32 bit on 64 bit Windows
Visual Studio users wishing to use the Access / JET runtime must target their applications
to x86 CPU only. This is an option for some applications, but it also places
a lot of other limitations on your application when running on a 64 bit machine.
By flagging your application as x86 only in Windows 7 your application will run
only through the WOW (Windows on Windows) emulation layer, or through the Virtual
XP machine instance. This means your app is viewed as a legacy application
even if you are running .Net 2 or higher!
VistaDB can run 32 and 64 bit from a single .Net assembly!
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
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 Jet Database Engine and DAO Licensing
The following explains Microsoft's licensing for distributing solutions that use
Microsoft Jet and DAO: (Source)
- 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.
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
This error occurs on 64 bit Windows machines because there is no 64 bit edition
of Access or the OLEDB driver. You must change your application to run as
an x86 only app in order to run this driver. But the driver is not included
by default. Get it from the Microsoft Download Center.
Visual Studio Express cannot set x86 Mode
If you are using Visual Studio Express editions you cannot make this change (Microsoft
excluded that ability in the Express versions). Of course VistaDB
does not have this limitation, our single managed assembly can run in both 32 and
64 bit editions of Windows without problem.
64 bit servers with IIS most run in 32 bit mode
If you are running a website that needs this driver you cannot load it unless you
modify the entire application pool to run in 32 bit compatibility mode. Obviously
if you are running a shared host they will probably not want to make this change
as it will impact a lot more sites and degrades the memory IIS can access.
VistaDB can run 32 and 64 bit from a single .Net assembly!