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 más los comandos por lotes asociados al comando actual.
Sintaxis
HRESULT Abort(void);
Observaciones
Si el comando que se anula se encuentra en un procedimiento almacenado, la ejecución del procedimiento almacenado (y los procedimientos que habían llamado a ese procedimiento) se finalizarán, así como el 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, llamar a ISSAbort::Abort antes de liberar el conjunto de filas acelerará la versión del conjunto de filas, pero si hay una transacción abierta y XACT_ABORT está activada, la transacción se revertirá cuando se llame a ISSAbort::Abort .
Después de que ISSAbort::Abort devuelva S_OK, la interfaz IMultipleResults asociada entra en un estado inutilizable y devuelve DB_E_CANCELED a todas las llamadas de método (excepto los métodos definidos por la interfaz IUnknown ) hasta que se libera. Si se había obtenido un IRowset de IMultipleResults antes de una llamada a Abort, también entra en un estado inutilizable y devuelve DB_E_CANCELED a todas las llamadas de método (excepto para los métodos definidos por 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 del servidor XACT_ABORT está activado, la ejecución de ISSAbort::Abort finalizará y revertirá cualquier transacción implícita o explícita actual cuando esté conectada 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 canceló y DB_E_CANTCANCEL de lo contrario. Si el lote ya se ha cancelado, se devuelve DB_E_CANCELED.
DB_E_CANCELED
El lote ya se ha cancelado.
DB_E_CANTCANCEL
No se canceló el lote.
E_FAIL
Error específico del proveedor; para obtener información detallada, use la interfaz ISQLServerErrorInfo .
E_UNEXPECTED
La llamada al método fue inesperada. Por ejemplo, el objeto está en estado zombie porque ya se ha llamado a ISSAbort::Abort .
E_MEMORIA_INSUFICIENTE
Error de memoria insuficiente.