Поделиться через


ISSAbort::Abort (OLE DB)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Скачать драйвер OLE DB

Отменяет текущий набор строк и любые пакетные команды, ассоциированные с текущей командой.

Интерфейс 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 whenISSAbort::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
Ошибка, связанная с нехваткой памяти.