ID: Q166107
The information in this article applies to:
Microsoft Data Access Objects (DAO) using the Jet Engine cannot be used within a Microsoft Transaction Server component.
When given incomplete or incorrect information about an ODBC Data Source, Jet invokes a dialog box to prompt the user for the correct or complete information. Because the component is running on a server that may be unattended, or because the component may not have access to the desktop, a logon dialog box has the effect of causing the component to stop responding.
Calling SQLDriverConnect with the SQL_DRIVER_NOPROMPT flag prevents this from occurring. However, Jet does not invoke SQLDriverConnect with this flag. ODBC 3.0 Connection Pooling requires SQL_DRIVER_NOPROMPT; therefore, Microsoft Transaction Server denies a connection to any component that does not use this flag.
The C++ Classes, MFC DAO, only provide DAO connection with Jet, and therefore cannot be used. The C++ DAO SDK 3.5 classes do provide ODBCDirect, which is really a separate engine from Jet (by way of RDO). You can specify a flag (dbDriverNoPrompt) in the OpenConnection method with ODBCDirect that enables the SQL_DRIVER_NOPROMPT flag. Likewise, DAO 3.5 within Visual Basic 5.0 also offers ODBCDirect.
Other database connectivity alternatives include the following:
http://www.microsoft.com/transaction/ http://www.microsoft.com/support/transaction/
Additional query words: MfcDao MfcDatabase dbDao hang hanging stop stopped freeze freezes locked locked-up locks up open
Keywords : kbprg TSrvODBC
Version : 1.0
Platform : WINDOWS
Issue type : kbinfo
Last Reviewed: October 11, 1997