Megosztás a következőn keresztül:


Tranzakciótámogatás

A tranzakciók támogatásának fokát az illesztőprogram határozza meg. Az ODBC-t úgy tervezték, hogy olyan egyfelhasználós vagy asztali adatbázison implementálható legyen, amelynek nincs szüksége az adatok több frissítésének kezelésére. Ezenkívül a tranzakciókat támogató adatbázisok némelyike csak az SQL Adatkezelési nyelv (DML) utasításaira vonatkozik; az adatdefiníciós nyelv (DDL) használatára vonatkozóan korlátozások vagy speciális tranzakciószemantiák vonatkoznak, ha egy tranzakció aktív. Ez azt jelentheti, hogy a táblák több egyidejű frissítésének tranzakciós támogatása is lehetséges, de a táblák számának és definíciójának a tranzakció során történő módosításához nem.

Az alkalmazás meghatározza, hogy támogatja-e a tranzakciókat, tartalmazhat-e DDL-t a tranzakció, valamint meghatározza a DDL által a tranzakcióban eredményezett különleges hatásokat, az SQLGetInfo SQL_TXN_CAPABLE lehetőséggel való meghívásával. További információ: SQLGetInfo függvény leírása.

Ha az illesztőprogram nem támogatja a tranzakciókat, de az alkalmazás képes (az ODBC-től eltérő API-t használni) az adatok zárolására és zárolásának feloldására, az alkalmazások a rekordok és táblák zárolásával és zárolásának feloldásával érhetik el a tranzakciók támogatását. A fiókátadási példa implementálásához az alkalmazás zárolná mindkét fiók rekordjait, átmásolná az aktuális értékeket, megterhelné az első fiókot, jóváírná a második fiókot, és feloldaná a rekordokat. Ha a lépések sikertelenek, az alkalmazás a másolatok használatával alaphelyzetbe állítja a fiókokat.

Előfordulhat, hogy a tranzakciókat támogató adatforrások sem támogatnak egyszerre több tranzakciót egy adott környezetben. Az alkalmazások meghívják az SQLGetInfo-t a SQL_MULTIPLE_ACTIVE_TXN beállítással annak meghatározásához, hogy egy adatforrás támogatja-e az egyidejű aktív tranzakciókat ugyanazon a környezetben több kapcsolaton. Mivel kapcsolatonként egy tranzakció van, ez csak azoknak az alkalmazásoknak érdekes, amelyek több kapcsolattal rendelkeznek ugyanahhoz az adatforráshoz.