2012-03-29 13 views
5

Acabo de leer en TransactionScope implementations.¿Cómo funciona una implementación de TransactionScope? ¿Qué soporte de base de datos se requiere?

¿Podría alguien confirmar si esta técnica es impulsada por .net del lado del cliente, o si requiere algo especial de proveedores específicos de DB? ¿Esto es solo un SQL Server?

+0

Al menos para un TS no distribuido (y no anidado), es solo la información de transacción local del subproceso que se establece automáticamente para los comandos, etc. Nunca estoy seguro de cómo funcionan los ámbitos anidados/distribuidos ... podría querer enfocarse en un * aspecto * específico de TS, porque incluso el DTC no está disponible en todos los niveles de aislamiento de SQL Server. –

+0

@pst: ¿qué quiere decir con no anidado? como una transacción de un nivel? ¿Marca/consulta el hilo de alguna manera para descubrir si hay una transacción existente en juego? – sgtz

+0

Bueno, todo está hecho con información local de subprocesos (para manejar el alcance dinámico), pero ese fue yo quien cubrió mis apuestas: no todas las bases de datos admiten transacciones anidables, por ejemplo. –

Respuesta

1

Si su pregunta también incluye proveedores de RDBMS, entonces SQL Server Compact lo admite, al igual que Oracle.

+0

Debería enfocar la pregunta un poco más. Me interesa quién lo implementa, pero lo más importante es la implementación. Por ejemplo, es difícil rediseñar un SGBD que no se implementa (si de hecho es un pensamiento DBMS específico). La documentación de MS que he visto hasta ahora es bastante insulsa sobre este tema. – sgtz

Cuestiones relacionadas