INFO: Identifying the Jet Database Engine Components

Last reviewed: January 13, 1998
Article ID: Q178880
The information in this article applies to:
  • Microsoft Visual Studio 97
  • Microsoft Access 1.0, 1.1, 2.0, 7.0, 97
  • Microsoft Visual Basic Standard and Professional Editions for Windows, version 3.0
  • Microsoft Visual Basic Standard and Enterprise Editions for Windows, versions 4.0, 5.0
- The Microsoft Foundation Classes (MFC) included with:
   - Microsoft Visual C++, 32-bit Editions, versions 4.0, 4.1, 4.2,
     4.2b, 5.0

SUMMARY

DAO is a COM wrapper around the Jet Engine, which is used by Microsoft Access, Excel, Project, Visual Basic, and the Microsoft Foundation Classes (among others). It can be confusing which version of Jet you are using because so many applications may distribute Jet onto your machine. The tables and explanations in this article are intended to help you identify the version and components of Jet that you are using for the given application.

MORE INFORMATION

This table displays which version of Jet is shipped with each of the following products.

Application                      Microsoft JET version
Microsoft Access 1.0             1.0
Microsoft Access 1.1             1.1
Microsoft Access 2.0             2.0
Microsoft Access 2.0             2.5 with Microsoft Access Service Pack
Microsoft Access 7.0             3.0
Microsoft Access 97              3.5 with Office 97
Microsoft Access 97 SR1          3.5 with Office 97SR1
Visual Basic 3.0                 1.1
Visual Basic 3.0                 2.0 with Visual Basic Compatibility Layer
Visual Basic 3.0                 2.5 with Microsoft Access Service Pack
Visual Basic 4.0 16-bit          2.5
Visual Basic 4.0 32-bit          3.0
Visual Basic 5.0 32-bit          3.0
Visual Basic 5.0 32-bit          3.5
Visual C++ 4.X                   3.0
Visual C++ 5.0                   3.5
Jet 3.51 (web download)          3.51 (Latest, 3.5 Binary compatible)

Compatibility Among Versions

With each new version of Microsoft Jet, enhancements in functionality and changes to the structure of the database file cause problems with backward compatibility. Wherever possible, efforts have been made to ensure an easy migration path among versions. However, incompatibilities do exist. The following table illustrates how you can use database files and objects among different versions of Microsoft Jet.

                         Jet Version
              --------------------------------
              1.0   1.1   2.0   2.5   3.0  3.5

MDB Version

1.0            Y     Y     Y     Y     Y    Y
1.1            N     Y     Y     Y     Y    Y
2.0            N     N     Y     Y     Y    Y
3.0            N     N     N     N     Y    Y

A "Y" indicates that you can use the database without conversion; "N" indicates that you cannot use or convert the database. With DAO code, you can open any version of any database up to the same version of Microsoft Jet. Microsoft Access is an exception to this rule because it can open only those databases with the same version as itself. However, it can link to tables with the same or earlier version. In other words, if you upgrade to Microsoft Jet 3.0, you will still be able to read version 2.x databases.

There is no version 2.5 or 3.5 of an .mdb file (just 2.0 and 3.0), which are common to the x.0 and x.5 versions of Jet.

Jet 2.0 and Jet 2.5 use identical database formats in every aspect. Jet 2.0 can read databases created with Jet 2.5.

Microsoft Jet 3.5 databases have the same structure as Jet 3.0. Microsoft Jet 3.0 can read data from Microsoft Jet 3.5 tables. The main limitation here is that Microsoft Jet 3.5 may support additional properties on the database object that aren't recognized or taken advantage of by Microsoft Jet 3.0, but there aren't any data incompatibilities.

Notice that Visual Basic 3.0 is capable of using three different versions of Jet each requiring a separate set of dynamic link libraries (DLLs). This can cause problems when your Visual Basic application expects to use Jet 2.0 for example, and then you install another Visual Basic application using an earlier version of Jet on the same system that replaces some of the version 2.0 DLLs with version 1.1. Typically the problem DLL in this situation is Vbdb300.dll because it determines which version of the Jet engine will be used.

The following table should help you solve any version conflicts, and help you identify the version of Jet you are using. You may use the Wps.exe utility shipped with Visual Basic to find out which version of Jet you currently have loaded in memory. Wps.exe is located in the \VB\CDK directory of Visual Basic 3.0 Professional, and in \TOOLS\PSS directory of the Visual Basic 4.0 CD. Pay special attention to the version information obtained from File Manager (File, Properties) in Visual Basic 3.0, and Microsoft System Info. in Visual Basic 4.0 32-bit.

The following files are required by Visual Basic to use the Jet Database Engine:

Jet Version    File          Version     Description
1.1            VBDB300.DLL   3.00.0528   VB/JET support
               MSAES110.DLL  1.10.0000   Expression services
               MSAJT110.DLL  1.10.0001   Jet 1.1 engine
               XBS110.DLL    1.10.0002   External xBASE ISAM
               BTRV110.DLL   1.10.0000   External Btrieve ISAM
               PDX110.DLL    1.10.0000   External Paradox ISAM
2.0 (comlyr)   VBDB300.DLL   3.00.0529   VB/JET support
               MSAJT112.DLL  1.99.1605   Jet 2.x comp. loader
               MSAJT200.DLL  2.00.0000   Jet 2.0 engine
               XBS200.DLL    2.00.0000   External xBASE ISAM
               BTRV200.DLL   2.00.0000   External Btrieve ISAM
               PDX200.DLL    2.00.0000   External Paradox ISAM
2.5 (accsvc)   VBDB300.DLL   3.00.0529   VB/JET support
               MSAJT112.DLL  1.99.1605   Jet 2.x comp loader
               MSAJT200.DLL  2.50.1606   Jet 2.5 engine
               MSJETERR.DLL  2.50.1108   Error services
               MSJETINT.DLL  2.50.1108   International
               XBS200.DLL    2.50.1108   External xBASE ISAM
               BTRV200.DLL   2.50.1108   External Btrieve ISAM
               PDX200.DLL    2.50.1108   External Paradox ISAM
2.5 (VB4 16)   VBDB16.DLL    4.00.2422   VB/JET support
               MSAJT200.DLL  2.50.1606   Jet 2.5 engine
               MSJETERR.DLL  2.50.1111   Error services
               MSJETINT.DLL  2.50.1111   International
               XBS200.DLL    2.50.1117   External xBASE ISAM
               BTRV200.DLL   2.50.1117   External Btrieve ISAM
               PDX200.DLL    2.50.1117   External Paradox ISAM
               MSXL2016.DLL  2.50.1117   External Excel ISAM
               MSTX2016.DLL  2.50.1117   External Text ISAM
3.0            MSJT3032.DLL  3.0.0.2118  Jet 3.0 engine
               MSJINT32.DLL  3.0.0.2118  International
               MSJTER32.DLL  3.0.0.2118  Error services
               MSXL3032.DLL  3.0.0.2001  External Excel ISAM
               MSRD2X32.DLL  3.0.0.2118  External Jet 2.0 ISAM
               MSLT3032.DLL  3.0.0.2008  External Lotus ISAM
               MSPX3032.DLL  3.0.0.2001  External Paradox ISAM
               MSXB3032.DLL  3.0.0.2008  External xBASE ISAM
               MSTX3032.DLL  3.0.0.2008  External Text ISAM

With Jet 3.5x, there have been multiple releases. The following table indicates which version of Jet applies to a given product:

              Access 97
              Access 97a
FileName      Office 97    VB5          Office 97a   Jet 3.51
------------ ----------- ----------- ----------- -----------
MSEXCL35.DLL  3.50.3428.0  3.50.3602.5  3.50.3907.0      n/a
MSJET35.DLL   3.50.3428.0  3.50.3602.4  3.50.3907.5  3.51.0623.4
MSJINT35.DLL  3.50.3428.0  3.50.3602.5  3.50.3907.0      n/a
MSJTER35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.0      n/a
MSLTUS35.DLL      n/a      3.50.3602.5      n/a          n/a
MSPDOX35.DLL      n/a      3.50.3602.0      n/a          n/a
MSRD2X35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.0      n/a
MSREPL35.DLL 3.50.3428.0 3.50.3602.0 3.50.3907.1 3.51.0623.0
MSTEXT35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.0      n/a
MSXBSE35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.0      n/a
VBAJET32.DLL  3.0.0.6908   5.0.0.7122   3.0.0.6908       n/a
VBAR332.DLL   3.0.0.6908   3.0.0.6908   3.0.0.6908       n/a

REFERENCES

"Microsoft Jet Database Engine Programmer's Guide 2nd Edition," by Dan Haught and Jim Ferguson, Microsoft Press, 1997, ISBN 1-57231-342-0

For information on how to obtain the Microsoft Jet 2.0/Visual Basic 3.0 Compatibility Layer, please see the following KB article:

   ARTICLE-ID: Q113951
   TITLE:      HOWTO: Obtain/Distribute the Compatibility Layer in VB 3.0

You can find information about how to download the Jet 3.51 patch in the following Knowledge Base Article:

   ARTICLE-ID: Q172733
   TITLE:      ACC97: Updated Version of Microsoft Jet 3.5 Available on MSL
Keywords          : vbwin vb4all
Version           : WINDOWS:3.0,4.0,5.0,97
Platform          : WINDOWS
Issue type        : kbinfo


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: January 13, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.