adOpenStatic Logo
Ken's Blog
Contact Ken
Copyright 2000 -

Reasons to use the native Jet OLEDB Provider
Start by looking at this webpage from Microsoft's own KB:

Q222135 - Using Microsoft JET with IIS.

The article states (amongst other things):

When running Microsoft Jet in an IIS environment, it is recommended that you use the native Jet OLE DB Provider in place of the Microsoft Access ODBC driver. The Microsoft Access ODBC driver (Jet ODBC driver) can have stability issues due to the version of Visual Basic for Applications that is invoked because the version is not thread safe. As a result, when multiple concurrent users make requests of a Microsoft Access database, unpredictable results may occur. The native Jet OLE DB Provider includes fixes and enhancements for stability, performance, and thread pooling (including calling a thread-safe version of Visual Basic for Applications).

In my personal experience using the OLEDB Provider for ODBC Drivers tends to cause numerous errors of the type:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Unspecified Error


Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open
registry key 'Temporary (volatile) Jet DSN for process 0x5ac
Thread 0x5a8DBC 0x8ce81c4 Jet'.

Aside from the errors that can result, using ODBC is generally slower than OLEDB. When you use ODBC you actually accessing ODBC via a special OLEDB Provider for ODBC Drivers.


When you use a direct OLEDB connection (known as using a "native OLEDB provider") you go through one less layer (you cut out ODBC) and thus your request should be processed quicker.

In both cases above you are connecting to an Access database, it's just that in OLEDB parlance you extract data from a "data source" not a "database". This is because OLEDB can be used to connect to data sources such as ADSI directories, OLAP servers and Index Server catalogues as well as traditional databases like Access and SQL Server.

Now that you know WHY to use OLEDB instead of ODBC click here to learn HOW to setup an OLEDB connection string to your database.

Back to FAQ Listing