ISSAbort::Abort (OLE DB)
Применимо: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
azure Synapse Analytics Analytics
Platform System (PDW)
Отменяет текущий набор строк и любые пакетные команды, ассоциированные с текущей командой.
Интерфейс ISSAbort
, предоставляемый в OLE DB Driver for SQL Server, предоставляет ISSAbort::Abort
метод, используемый для отмены текущего набора строк, а также все команды, пакетные с помощью команды, которая изначально создала набор строк и которые еще не завершили выполнение.
ISSAbort
— это интерфейс OLE DB Driver for SQL Server, доступный с помощью QueryInterface
объекта, возвращаемого IMultipleResults
ICommand::Execute
или IOpenRowset::OpenRowset
.
Синтаксис
HRESULT Abort(void);
Замечания
Если команда, выполнение которой прерывается, принадлежит хранимой процедуре, выполнение этой хранимой процедуры (и любых вызвавших ее процедур, а также командного пакета, из которого производился вызов процедуры) будет прервано. Если сервер в это время передавал клиенту результирующий набор, эта передача будет прекращена. Если клиенту не требуется использовать результирующий набор, вызывается метод **
ISSAbort::Abortbefore releasing the rowset will speed up the rowset release, but if there is an open transaction and XACT_ABORT is ON, the transaction will be rolled back when
ISSAbort::Abort`.
После ISSAbort::Abort
возврата S_OK связанный IMultipleResults
интерфейс вводит неиспользуемое состояние и возвращает DB_E_CANCELED ко всем вызовам методов (за исключением методов, определенных интерфейсом IUnknown
), пока он не будет освобожден. Если он IRowset
был получен до IMultipleResults
вызова Abort
, он также входит в неиспользуемое состояние и возвращает DB_E_CANCELED ко всем вызовам методов (за исключением методов, определенных IUnknown
интерфейсом и IRowset::ReleaseRows
) до тех пор, пока он не будет освобожден после успешного вызова ISSAbort::Abort
.
Примечание.
Начиная с SQL Server 2005 (9.x), если сервер XACT_ABORT состояние on, выполнение ISSAbort::Abort
завершится и откатит текущую неявную или явную транзакцию при подключении к SQL Server. Более ранние версии SQL Server не прерывают текущую транзакцию.
Аргументы
Нет.
Значения кода возврата
S_OK
Метод ISSAbort::Abort
возвращает S_OK, если пакет был отменен и DB_E_CANTCANCEL в противном случае. Если выполнение программного пакета уже было прервано ранее, возвращается DB_E_CANCELED.
DB_E_CANCELED
Выполнение пакета уже было прервано.
DB_E_CANTCANCEL
Выполнение пакета не было прервано.
E_FAIL
Произошла ошибка, связанная с поставщиком. Подробные сведения можно получить при помощи интерфейса ISQLServerErrorInfo.
E_UNEXPECTED
Непредвиденный вызов метода. Например, объект находится в состоянии зомби, так как ISSAbort::Abort
уже был вызван.
E_OUTOFMEMORY
Ошибка, связанная с нехваткой памяти.