Transakcje w ODBC

Transakcje w ODBC są zarządzane poziom połączenia.Po zakończeniu transakcji aplikacji zatwierdza lub wycofuje wszystkie prace wykonane przez wszystkie dojścia instrukcja dla tego połączenia.Zatwierdzić lub wycofać zatwierdzanie, aplikacje powinny wywoływać SQLEndTran zamiast przedstawiania zatwierdzanie lub ROLLBACK instrukcja.

Aplikacja wywołuje Procedura SQLSetConnectAttr do przełączania się między dwoma trybami ODBC zarządzania transakcji:

  • Tryb AUTOCOMMIT wynosi

    Każda instrukcja poświęca automatycznie po zakończeniu pomyślnie.Podczas uruchamiania tryb autozatwierdzania wynosi nie innych funkcji zarządzania transakcji są wymagane.

  • Tryb ręczny zatwierdzanie

    Wszystkie instrukcje wykonywane są zawarte w tej samej transakcji, dopóki nie zostanie wyraźnie zatrzymana przez wywołanie SQLEndTran.

Tryb AUTOCOMMIT wynosi jest domyślny tryb transakcji ODBC.Po nawiązaniu połączenia jest tryb autozatwierdzania wynosi aż do Procedura SQLSetConnectAttr nazywa się wyłączyć tryb ręczny zatwierdzanie przez ustawienie trybu AUTOCOMMIT wynosi.Gdy aplikacja wyłącza AUTOCOMMIT wynosi, następna instrukcja wysyłane do bazy danych rozpocznie transakcję.Następnie transakcji pozostają w mocy do czasu wywołania aplikacji SQLEndTran z opcjami SQL_COMMIT albo SQL_ROLLBACK.Polecenie wysłane do bazy danych po SQLEndTran uruchamia następnej transakcji.

Jeśli aplikacja przełącza z zatwierdzanie ręczny tryb autozatwierdzania wynosi, sterownik zatwierdza wszelkie transakcje otwartego połączenia.

Aplikacje ODBC nie należy używać instrukcji Transact-SQL w transakcji, takie jak rozpocząć transakcji, ZATWIERDZIĆ transakcji albo TRANSAKCJĘ ROLLBACK, ponieważ może to powodować nieokreśloną zachowanie kierowcy.Aplikacji ODBC Uruchom tryb autozatwierdzania wynosi i nie powinny korzystać z funkcja zarządzania zatwierdzanie lub instrukcji lub uruchom w trybie zatwierdzanie ręczne i ODBC za pomocą SQLEndTran funkcja zatwierdzanie lub wycofać zatwierdzanie.

Zobacz także

Koncepcje