Aracılığıyla paylaş


MS DTC hareketleri Dağıtılmış

OLE DB, Açık Veritabanı Bağlanılabilirliği (ODBC), ActiveX Data Objects (ADO) veya DB Kitaplığı'nı kullanılarak yazılmış uygulamaları kullanabilirsiniz Transact-SQL Dağıtılmış işlemler, veren tarafından Transact-SQL ifadeleri, başlatmak veya durdurmak için Transact-SQL dağıtılmış hareketleri. OLE DB ve ODBC uygulama dağıtılmış hareketleri yönetme düzeyini arabirim (API) programlama desteğine de içerir.Bu API işlevlerini OLE DB ve ODBC uygulamalarının dağıtılmış işlem destekleyen diğer Bileşen Nesne Modeli (COM) hizmet (SRV) kaynak yöneticilerini içeren s yönetmek için kullanabilirsiniz Microsoft Farklı dağıtılmış işlem koordinatörü (MS DTC) hareketlerini SQL Server Database Engine. Bunlar API işlevlerini örneklerini çalıştıran çeşitli bilgisayarları içeren bir dağıtılmış işlem sınırlarını üzerinde daha fazla denetim elde etmek için de kullanılabilir Database Engine.

ODBC işlem Dağıtılmış

Yerel işlemler sırasında ODBC API denetleyebilirsiniz düzey bağlantı ayarlayarak SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT_OFF sonra ODBC arayarak öznitelik SQLEndTran işlev tamamlanmaya veya her hareket geri almak için.Bu işlevler yönetmek için kullanmayın bir dağıtılmış işlem bir ODBC uygulamasında.MS DTC COM yöntemleri kullanın:

  • Arama DtcGetTransactionManager , MS DTC için bağlanma.

  • Arama ITransactionDispenser::BeginTransaction , dağıtılmış işlem olarak başlatmak ve bir işlem nesnesini alın.

  • Her bir ODBC bağlantı katılma dağıtılmış işlem, ODBC işlevini çağırın. SQLSetConnectAttr with fOption ve SQL_COPT_SS_ENLIST_IN_DTC ayarlayın.vParam ' dan işlem nesnesinin adresini tutanITransactionDispenser::BeginTransaction.

  • Hareket, ODBC çağrılıyor yerine tamamlandığında SQLEndTran işlev, arayın.ıtransaction:: yürütme or ITransaction::Rollback alınan işlem nesnesini yöntemleriITransactionDispenser::BeginTransaction.

OLE DB işlem Dağıtılmış

Bir OLE DB dağıtılmış işleme denetlemek için yerel bir işlem denetlemek için benzer modelidir.Yerel bir işlem, bir OLE DB tüketici denetlemek için :

  • Kullanan ITransactionLocal::StartTransaction yöntem yerel işlem başlatmak ve bir işlem nesnesini alın.

  • Çağrı ıtransaction:: yürütme or ITransaction::Rollback tarafından alınan işlem nesnesini yöntemleriITransactionLocal::StartTransaction.

Bir dağıtılmış işlem tüketici denetlemek için :

  • Aramalar DtcGetTransactionManager , MS DTC için bağlanma.

  • Aramalar ITransactionDispenser::BeginTransaction , dağıtılmış işlem olarak başlatmak ve bir işlem nesnesini alın.

  • Çağrı Itransactionjoin arabirim dağıtılmış işleme katılan her bağlantı için Dağıtılmış işlem nesnesinin.

  • Çağrı ıişlem::Kaydet or ITransaction::Rollback hareketi tamamlamak için dağıtılmış işlem nesne yöntemleri.