Compartir a través de


ISSAbort::Abort (OLE DB)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Descargar controlador OLE DB

Cancela el conjunto de filas actual y los comandos en lotes asociados al comando actual.

La interfaz ISSAbort, que se expone en el controlador OLE DB para SQL Server, proporciona el método ISSAbort::Abort que se usa para cancelar el conjunto de filas actual más los comandos incluidos en el mismo lote que el comando que inicialmente generó el conjunto de filas y que todavía no han completado la ejecución.

ISSAbort es una interfaz específica del controlador OLE DB para SQL Server que está disponible cuando se usa QueryInterface en el objeto IMultipleResults devuelto por ICommand::Execute o IOpenRowset::OpenRowset.

Sintaxis

  
HRESULT Abort(void);  

Observaciones

Si el comando que se anula se encuentra en un procedimiento almacenado, finalizará la ejecución del procedimiento almacenado (y cualquier procedimiento que haya llamado a ese procedimiento) así como del lote de comandos que contiene la llamada al procedimiento almacenado. Si el servidor está en proceso de transferir un conjunto de resultados al cliente, se detendrá la transferencia. Si el cliente no quiere consumir un conjunto de resultados, se llamará a **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`

Después de que ISSAbort::Abort devuelva S_OK, la interfaz IMultipleResults asociada inicia un estado inutilizable y devuelve DB_E_CANCELED a todas las llamadas a método (excepto en los métodos que define la interfaz IUnknown) hasta que se libera. Si se ha obtenido una interfaz IRowset de IMultipleResults antes de una llamada a Abort, también inicia un estado inutilizable y devuelve DB_E_CANCELED a todas las llamadas a método (excepto en los métodos que define la interfaz IUnknown e IRowset::ReleaseRows) hasta que se libera después de una llamada correcta a ISSAbort::Abort.

Nota:

A partir de SQL Server 2005 (9.x), si el estado de servidor XACT_ABORT está establecido en ON, la ejecución de ISSAbort::Abort finalizará y revertirá cualquier transacción implícita o explícita actual al conectarse a SQL Server. Las versiones anteriores de SQL Server no anularán la transacción actual.

Argumentos

Ninguno.

Valores de código de retorno

S_OK
El método ISSAbort::Abort devuelve S_OK si el lote se ha cancelado y DB_E_CANTCANCEL de lo contrario. Si el lote ya se había cancelado, se devuelve DB_E_CANCELED.

DB_E_CANCELED
El lote ya se ha cancelado.

DB_E_CANTCANCEL
El lote no se ha cancelado.

E_FAIL
Se produjo un error específico del proveedor; para obtener información detallada, use la interfaz ISQLServerErrorInfo.

E_UNEXPECTED
No se esperaba la llamada al método. Por ejemplo, el objeto está en un estado zombi porque ya se ha llamado a ISSAbort::Abort .

E_OUTOFMEMORY
Error de memoria insuficiente.