Udostępnij przez


ISSAbort::Abort (natywny dostawca OLE DB klienta)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Ważne

SQL Server Native Client (często skracany jako SNAC) został usunięty z SQL Server 2022 (16.x) i SQL Server Management Studio 19 (SSMS). Zarówno dostawca OLE DB klienta natywnego programu SQL Server (SQLNCLI lub SQLNCLI11), jak i starszy dostawca MICROSOFT OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku nowego programowania. Przełącz się na nowy sterownik Microsoft OLE DB (MSOLEDBSQL) dla programu SQL Server na przyszłość.

Anuluje bieżący zestaw wierszy oraz wszystkie polecenia wsadowe skojarzone z bieżącym poleceniem.

Interfejs ISSAbort , który jest uwidaczniany w dostawcy OLE DB klienta natywnego programu SQL Server, udostępnia metodę ISSAbort::Abort , która służy do anulowania bieżącego zestawu wierszy oraz wszystkich poleceń wsadowych za pomocą polecenia, które początkowo wygenerowało zestaw wierszy i które nie zostały jeszcze ukończone wykonywanie.

ISSAbort to interfejs specyficzny dla dostawcy klienta natywnego programu SQL Server dostępny przy użyciu elementu QueryInterface w obiekcie IMultipleResults zwróconym przez element ICommand::Execute lub IOpenRowset::OpenRowset.

Składnia

  
HRESULT Abort(void);  

Uwagi

Jeśli przerwane polecenie znajduje się w procedurze składowanej, wykonanie procedury składowanej (i wszelkie procedury, które wywołały procedurę), zostaną zakończone, a także partia poleceń zawierająca wywołanie procedury składowanej. Jeśli serwer jest w trakcie przenoszenia zestawu wyników do klienta, zostanie zatrzymany. Jeśli klient nie chce korzystać z zestawu wyników, wywołanie metody ISSAbort::Abort przed wydaniem zestawu wierszy przyspieszy wydanie zestawu wierszy, ale jeśli istnieje otwarta transakcja i XACT_ABORT jest włączona, transakcja zostanie wycofana, gdy jest wywoływana funkcja ISSAbort::Abort

Gdy funkcja ISSAbort::Abort zwraca S_OK, skojarzony interfejs IMultipleResults przechodzi w stan bezużyteczny i zwraca DB_E_CANCELED do wszystkich wywołań metod (z wyjątkiem metod zdefiniowanych przez interfejs IUnknown ), dopóki nie zostanie wydany. Jeśli element IRowset został uzyskany z elementu IMultipleResults przed wywołaniem metody Abort, wprowadza również stan bezużyteczny i zwraca DB_E_CANCELED do wszystkich wywołań metod (z wyjątkiem metod zdefiniowanych przez interfejs IUnknown i IRowset::ReleaseRows), dopóki nie zostanie wydany po pomyślnym wywołaniu metody ISSAbort::Abort.

Uwaga / Notatka

Począwszy od programu SQL Server 2005 (9.x), jeśli stan XACT_ABORT serwera jest włączony, wykonanie polecenia ISSAbort::Abort spowoduje zakończenie i wycofanie bieżącej niejawnej lub jawnej transakcji po nawiązaniu połączenia z programem SQL Server. Wcześniejsze wersje programu SQL Server nie przerwają bieżącej transakcji.

Arguments

Żaden.

Zwracanie wartości kodu

S_OK
Metoda ISSAbort::Abort zwraca S_OK, jeśli partia została anulowana i DB_E_CANTCANCEL w przeciwnym razie. Jeśli partia została już anulowana, DB_E_CANCELED zostanie zwrócona.

DB_E_CANCELED
Partia została już anulowana.

DB_E_CANTCANCEL
Partia nie została anulowana.

E_FAIL
Wystąpił błąd specyficzny dla dostawcy; aby uzyskać szczegółowe informacje, użyj interfejsu ISQLServerErrorInfo .

E_UNEXPECTED
Wywołanie metody było nieoczekiwane. Na przykład obiekt jest w stanie zombie, ponieważ isSAbort::Abort został już wywołany.

E_OUTOFMEMORY
Błąd braku pamięci.