Compartir a través de


ISSAbort::Abort (OLE DB)

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

Sintaxis

HRESULT Abort(void);

Comentarios

Si el comando que se anula se encuentra en un procedimiento almacenado, terminará la ejecución del procedimiento almacenado (y cualquier procedimiento que haya llamado a este 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á. Si el cliente no desea consumir un conjunto de resultados, la llamada a ISSAbort::Abort antes de liberar el conjunto de filas acelerará la liberación del conjunto de filas, pero si hay una transacción abierta y XACT_ABORT está establecido en ON, la transacción se revertirá al llamar a ISSAbort::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 Anular, 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, 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 conectar 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.

Vea también

Otros recursos

ISSAbort (OLE DB)