DAO/Jet Cannot Be Used in Transaction Server Components

Last reviewed: October 10, 1997
Article ID: Q166107
The information in this article applies to:
  • Microsoft Transaction Server, version 1.0

SUMMARY

Microsoft Data Access Objects (DAO) using the Jet Engine cannot be used within a Microsoft Transaction Server component.

MORE INFORMATION

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:

  • Use ADO.
  • Use RDO.
  • Use ODBC API.
  • Use DAO 3.5 with the ODBCDirect engine.
  • Use MFC ODBC Database Classes, but use OpenEx instead of Open, because OpenEx allows you to specify SQL_DRIVER_NOPROMPT.

REFERENCES

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


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 10, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.