Ver Mensaje Individual
  #22  
Antiguo 15-07-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Rockin Ver Mensaje
...En la respuesta de Al González anterior, explica que el DataSetProvider es el encargado de activar las transacciones asociadas al DataSet en cuestión...
¡'pérate, 'pérate! Repito lo que dije:
Cita:
Empezado por Al González Ver Mensaje
En efecto, eso hace el componente TDataSetProvider cuando la conexión no tiene una transacción activa en ese momento. Es decir, si el programa no ha empezado una transacción explícitamente, el componente proveedor la establece y cierra cuando aplica las actualizaciones...
Todo parece indicar que ya hay una transacción abierta. Lo primero que habría que investigar es cómo se está abriendo esa transacción para optar por una de dos soluciones:

1. Evitar que haga ese "start transacción".

2. Hacer que tu módulo de datos de la capa intermedia exporte un método que te permita llamar al método "Commit" (o como se llame) de tu componente Database.

Es usual que la capa intermedia exporte algunos métodos (procedimientos) para facilitar que los programas cliente hagan ciertas operaciones contra la base de datos.

Saludos.

Al.
Responder Con Cita