Hola, os expongo el problema que tengo.
El programa está desarrollado en VB 6 con SQL Server 2000, a través de ADO
2.7, el problema viene con las transacciones anidadas, al llamar a la
transacción anidada, el programa dice que no se pueden iniciar más
transacciones.
SQL Server 2000 permite transacciones anidadas, VB 6 permite transacciones
anidadas.
Microsoft indica en su web, que no se permiten transacciones anidadas en
ODBC/OLE DB/ADO, pero especifica lo siguiente:
The ADO Help indicates that ADO supports nested transactions but only if the
underlying OLE DB Provider supports nested transactions. The following
Microsoft Providers do not support Nested Transactions:
· OLE DB Provider for ODBC Drivers
· Index Server Provider for OLE DB
· Active Directory Provider for OLE DB
Si no puedo encontrar la forma de solucionarlo desde VB, me gustaría poderlo
hacer desde un procedimiento almacenado, en el que incluya las transacciones
anidadas pero entonces, me surge otro problema o duda: ¿Se puede recorrer un
conjunto de registros y procesarlos dentro de un procedimiento almacenado?,
¿Cómo?
La idea es la siguiente:
Function PPP
a.. Comenzar transacción
b.. Abrir un Recordset
c.. Recorrerlo y por cada registro, llamar a otras funciones que a su vez
recorren y modifican recordsets
d.. Llamar a la función XXX
e.. Finalizar transacción
End function
Function XXX
a.. Comenzar transacción
b.. Abrir un Recordset
c.. Recorrerlo y por cada registro, llamar a otras funciones que a su vez
recorren y modifican recordsets
d.. Finalizar transacción
End function
Leer las respuestas