Data Access and Transactions |
Because the ODBC Driver Manager is a Component Services resource dispenser, data accessed via ODBC is automatically protected by your object’s transaction. For object transactions, an ODBC-compliant database must support the following features:
Table 7.6 summarizes database requirements for full COM+ application support.
Table 7.6 ODBC Driver Requirements for Component Services Compliance
Requirements | Description |
Support for the OLE transactions specification, or support for XA protocol | Enables direct interaction with the Distributed Transaction Coordinator (DTC) by using the XA Mapper. |
ODBC driver | Platform requirement for COM+ application server. |
Support for ODBC version 3.0’s SqlAttrEnlistInDtc attribute | COM+ applications use this call to pass the transaction identifier to the ODBC driver. The ODBC driver then passes the transaction identifier to the database engine. |
Fully thread-safe ODBC driver | ODBC driver must be able to handle concurrent calls from any thread at any time. |
Because ADO is an indirect consumer of ODBC data sources, it makes a good candidate for data access from COM components. In fact, there is very little semantic difference between using ADO inside a COM component, and using it from a Web page.