Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.