Additional Reading

Key Microsoft Access Jet Engines Setting That Can Affect Your OpenLink ODBC Experience

The Windows registry settings for Microsoft Jet database engine connections to ODBC database are discussed below. These must be added to the Registry by the user or the application; the ODBC Driver Setup program does not write these values to the Registry.

Depending on the installed version(s) of Microsoft Access, Microsoft Office, and other components, these initialization settings should be found at a location similar to the following:

HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\ODBC

HKEY_LOCAL_MACHINE\Software\Microsoft\Access\7.0\Jet\3.5\Engines\ODBC

HKEY_LOCAL_MACHINE\Software\Microsoft\Office\8.0\Access\Jet\3.5\Engines\ODBC


The ODBC folder may not exist in your environment, but the ...\Jet\4.0\Engines\ or ...\Jet\3.5\Engines\ folder should; you must create the ODBC folder within whichever of these is found on your Windows host.

To create the new folder, open the ...\Jet\*\Engines\ folder in the Registry Editor (Start menu >> Run... >> regedit), and click Add Key on the Edit menu. In the Key Name: text entry box, type ODBC and click OK. The Registry Editor will create a new folder below the ...\Jet\*\Engines\ folder.

Note: If you are using Windows NT or later, the Add Key dialog box may also contain an edit box for the registry key class; you can leave this setting blank.

Typical settings for the entries in the Jet\*\Engines\ODBC folder are shown below:

AsyncRetryInterval  = 500
AttachCaseSensitive = 0
AttachableObjects   = 'TABLE','VIEW','SYSTEM TABLE','ALIAS','SYNONYM'
ConnectionTimeout   = 600
DisableAsync        = 0
FastRequery         = 0
JetTryAuth          = 1
LoginTimeout        = 20
PreparedInsert      = 0
PreparedUpdate      = 0
QueryTimeout        = 60
SnapshotOnly        = 0
TraceODBCAPI        = 0
TraceSQLMode        = 0


What the settings mean

AsyncRetryInterval

The number of milliseconds between polls to determine if the server is done processing a query. This entry is used for asynchronous processing only. The default is 500 (values are of type REG_DWORD).

AttachCaseSensitive

An indicator of whether to match table names exactly when linking. Values are 0 (link the first table matching the specified name, regardless of case) and 1 (link a table only if the name matches exactly). The default is 0 (values are of type REG_DWORD).

AttachableObjects

A list of server object types to which linking will be allowed (values are of type REG_SZ). The default is:

'TABLE', 'VIEW', 'SYSTEM TABLE', 'ALIAS', 'SYNONYM'


ConnectionTimeout

The number of seconds a cached connection can remain idle before timing out. The default is 600 (values are of type REG_DWORD).

DisableAsync

An indicator of whether to force synchronous query execution. Values are 0 (use asynchronous query execution if possible) and 1 (force synchronous query execution). The default is 1 (values are of type REG_DWORD).

FastRequery

An indicator of whether to use a prepared SELECT statement for parameterized queries. Values are 0 (no) and 1 (yes). The default is 0 (values are of type REG_DWORD).

JetTryAuth

An indicator of whether to try using the Microsoft Access user name and password to log in to the server before prompting. Values are 0 (no) and 1 (yes). The default is 1 (values are of type REG_DWORD).

LoginTimeout

The number of seconds a login attempt can continue before timing out. The default is 20 (values are of type REG_DWORD).

PreparedInsert

An indicator of whether to use a prepared INSERT statement that inserts data in all columns. Values are 0 (use a custom INSERT statement that inserts only non-Null values) and 1 (use a prepared INSERT statement). The default is 0 (values are of type REG_DWORD).Using prepared INSERT statements can cause NULLs to overwrite server defaults and can cause triggers to execute on columns that weren't inserted explicitly.

PreparedUpdate

An indicator of whether to use a prepared UPDATE statement that updates data in all columns. Values are 0 (use a custom UPDATE statement that sets only columns that have changed) and 1 (use a prepared UPDATE statement). The default is 0 (values are of type REG_DWORD). Using prepared UPDATE statements can cause triggers to execute on unchanged columns.

QueryTimeout

The number of seconds a query can run (total processing time) before timing out. The default is 60 (values are of type REG_DWORD).

SnapshotOnly

An indicator of whether Recordset objects are forced to be of snapshot type. Values are 0 (allow dynasets) and 1 (force snapshots only). The default is 0 (values are of type REG_DWORD).

TraceSQLMode

An indicator of whether the Jet database engine will trace SQL statements sent to an ODBC data source in SQLOUT.txt. Values are 0 (no) and 1 (yes). The default is 0 (values are of type REG_DWORD). This entry is interchangeable with SQLTraceMode.

TraceODBCAPI

An indicator of whether to trace ODBC API calls in ODBCAPI.txt. Values are 0 (no) and 1 (yes). The default is 0 (values are of type REG_DWORD).