==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 {{{NULL}}}s 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}}}).