I need a data store for single-user, read-only access. I need multiple tables, but not related. I also need to do two-column indexing. Seems like Jet is a good choice. Front end will be either VB or C#. The data is not user-entered data, but meta data about users and external files. What are the deployment issues for Jet -is it built into all Windows OS versions from xp onward? I plan on including the Access Database in the resource file.
6 Answers
MS Jet 4.0/DAO 3.6 are part of the operating system and are in Windows 2000, XP, Vista and Windows 7. They are updated by Windows Update and the security patches are applied as appropriate.
Alternatively to including the MDB file in the resource file you could build it if it isn't present. See the TempTables.MDB page at my website which illustrates how to use a temporary MDB in your app.
You can also use the Compare'Em utility to keep the database files tables, fields, indexes and relationships updated as you upgrade your app.

- 30,070
- 5
- 68
- 111

- 7,850
- 1
- 22
- 27
The Microsoft Access .mdb driver is included with XP and up. It's part of MDAC.
There are a few other options for this, by the way. Look into SQL Compact, VistaDB, and SQLite.

- 34,502
- 9
- 78
- 118
-
I am aware of those options, but dont they all have deployment issues? whereas from the first answer it appears there are no deployment issues with Jet, thereby making it by far the logical choice given the functionality I need. – bill seacham Nov 22 '09 at 19:24
-
There are no significant deployment issues I'm aware of- all you have to do is include the drivers (.NET assemblies) for those databases with your software. – Dave Swersky Nov 23 '09 at 00:21
-
1Jet has not been a part of MDAC for over 5 years. Given that Jet ships with the OS, there's no reason it should be included. The MDAC *does* include different interfaces that can be used to access Jet data -- it just doesn't include the Jet database engine itself. – David-W-Fenton Nov 23 '09 at 21:53
-
"MDAC does include different interfaces that can be used to access Jet data" -- which interfaces? When they removed the Jet engine from MDAC they also removed the Jet OLE DB Providers. – onedaywhen Nov 24 '09 at 11:08
-
They did? I missed that one. DAO is in the OS, nonetheless. – David-W-Fenton Nov 25 '09 at 03:03
Be aware that currently there are no 64 bit versions of the JET engine included with the operating systems!
The engines for 64 bit will be available with next Office. Beta can be downloaded from Microsoft Downloads

- 193
- 1
- 7
-
A2010 will introduce the 64-bit version of Jet/ACE. It's available separately as a download that's in beta, so this is a problem that will shortly be irrelevant. – David-W-Fenton Jan 16 '10 at 23:34
-
That's good news! Found the download: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d – Sebastian Seifert Jan 18 '10 at 18:48
-
@david-w-fenton: Thanks for the suggestion - I'll do that (I'm new to stackoverflow.com. Just didn't know about this possibility.) – Sebastian Seifert Jan 22 '10 at 11:35
If you Google this you will see that Jet is no longer a standard part of Windows and has been deprecated. The ACE driver that is now part of Office 2010 does support MDB files, though Microsoft emphasizes that it is not a replacement for Jet. They want you to use SQL Express instead.
You can download and install the ACE driver separately, but note that for no sane reason you can not have the 32 and 64-bit versions of it installed on the same machine. If oyu have Office 2007 32-bit installed and you try and install the 64-bit ACE engine, it gives you this big dialog box that tells you you have to uninstall Office 2007 first.
We switched to sqlite. No more such hassles.

- 659
- 6
- 12
-
2Whatver you Googled is WRONG. Jet 4 is part of the Windows OS and has been since Windows 2000. It is there because Active Directory uses it. This may not continue in the next version of Windows because of the 64-bit issue (Jet 4 will never have a 64-bit version). ACE does not ship with the OS, but can be freely downloaded and distributed with your app. I would only do that if you require 64-bit or some of the features that it provides that Jet 4 lacks (such as table-level data macros, which are the equivalent of triggers). – David-W-Fenton Jun 09 '11 at 00:18
Be careful when using the CSV ODBC driver, there is a bug I discovered.
If you export an MS-Excel file to CSV format, you get double quoted text strings if the text string exported contains double quotes or commas embedded within it.
Example:
"Hello World", This is Eric.
exports as
"""Hello World"", This is Eric."
However, if you read in this data to an ODBC enabled program, then export the data back out, what happens is that the CSV ODBC Driver puts double quotes around text whether the text has embedded double quotes and/or commas, or not.
The huge problem with this is that you cannot run a FILE COMPARE on the original file exported from MS-Excel, and the newly created file (read in then output) from an ODBC enabled program using the CSV driver. You will always get a FAILED FILE COMPARE (checksum) because the data is not equal. That really screws up QA/QC.
Also, another huge bug exists in ODBC Administrator whereby you cannot edit the files the Text Driver recognizes/supports.
If you edit that entry, Chinese characters are stored in the Windows Registry. But it is a nice way to parse CSV data via ODBC instead of having to write your own code to strip out the extra Double Quotes.

- 2,452
- 6
- 27
- 36
-
4Please, please please please *format* and use *multiple paragraphs*! Right now, your answer is pretty much illegible, and that's ignoring the fact that *it's not even an answer to the question asked*. – Nic Jan 23 '15 at 21:54
-
Formatting is the job of this site, not the posters. If formatting was our job, then folks like Microsoft would not need to come up with an XPS format. – MS-AccessUnleashed Jan 25 '15 at 20:12
-
2It's not the site's job to magically know how to make your wall of text more readable. It's the site's job to turn your Markdown formatting to HTML. Quit being lazy and make your answer readable. – Nic Jan 25 '15 at 20:39