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.
Las transacciones de ODBC se administran en el nivel de conexión. Cuando una aplicación completa una transacción, confirma o revierte todo el trabajo completado a través de todos los identificadores de instrucción de esa conexión. Para confirmar o revertir una transacción, las aplicaciones deben llamar a SQLEndTran en lugar de enviar una instrucción COMMIT o ROLLBACK.
Una aplicación llama a SQLSetConnectAttr para cambiar entre los dos modos ODBC de administración de transacciones:
Modo de confirmación automática
Cada instrucción se confirma automáticamente cuando se completa correctamente. Cuando se ejecuta en modo de confirmación automática, no se requieren otras funciones de administración de transacciones.
Modo de confirmación manual
Todas las instrucciones ejecutadas se incluyen en la misma transacción hasta que se detiene específicamente mediante una llamada a SQLEndTran.
El modo de confirmación automática es el modo de transacción predeterminado para ODBC. Cuando se realiza una conexión, se encuentra en modo de confirmación automática hasta que se llama a SQLSetConnectAttr para cambiar al modo de confirmación manual estableciendo el modo de confirmación automática desactivado. Cuando una aplicación desactiva la confirmación automática, la siguiente instrucción enviada a la base de datos inicia una transacción. Después, la transacción permanece en vigor hasta que la aplicación llama a SQLEndTran con las opciones de SQL_COMMIT o SQL_ROLLBACK. El comando enviado a la base de datos después de QUE SQLEndTran inicie la siguiente transacción.
Si una aplicación cambia de confirmación manual al modo de confirmación automática, el controlador confirma las transacciones abiertas actualmente en la conexión.
Las aplicaciones ODBC no deben usar Transact-SQL instrucciones de transacción como BEGIN TRANSACTION, COMMIT TRANSACTION o ROLLBACK TRANSACTION, ya que esto puede provocar un comportamiento indeterminado en el controlador. Una aplicación ODBC debe ejecutarse en modo de confirmación automática y no usar ninguna instrucción o funciones de administración de transacciones, ni ejecutarse en modo de confirmación manual y usar la función ODBC SQLEndTran para confirmar o revertir transacciones.