As discussed earlier in this chapter, Microsoft Jet tries to use the authentication information supplied to the local Microsoft Jet engine against the remote data source, unless you specify otherwise. You can use this behavior to allow the user to provide one user name and password for all data (local or remote) accessed by your application. In environments where this is not practical , you may want to set the TryJetAuth setting in the \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\ 3.5\Engines\ODBC key in the Windows Registry to 0. This also means that each time you attempt to use a linked table that doesn’t contain a stored user name and password, you must supply a user name and password to access the remote data. In this case, Microsoft Jet prompts the user for a user name and password through an ODBC driver logon dialog box.
Once the user has logged on to the remote data source, Microsoft Jet stores the authentication information until the application closes. This allows reconnections to the data source to occur behind the scenes and without interruption. Cached authentication information can also be applied to other tables on the same data source, provided they are in the same database. If your application connects the user to another database server or database, Microsoft Jet again prompts the user for a user name and password through the ODBC driver logon dialog box — if a user name and password are required.
Once the user establishes a connection to a remote database using a specific user name and password, that authentication information does not change throughout the user’s session (until the application closes). This behavior, which is an effect of the Microsoft Jet connection sharing and caching model, prevents the loss of the user’s authentication information even if the user opens remote linked tables that have different user names and passwords stored within. If your application design requires different levels of security on a number of remote tables, you should use the data source’s security features to ensure that each user has the necessary permissions.
See Also For more information on security, see Chapter 10, “Managing Security.”