Error raro transacciones

26/05/2006 - 11:25 por solusoft | Informe spam
Hola a todos.

Estoy en un caso raro con transacciones, me da errores y no consigo
detectar la causa.

Digamos que tengo un form en el que inicio una transacción, y utilizo un
DataAdapter.Update para actualizar datos que contiene un DataSet.

La cuestión es que al Aceptar Transacción me da un error de este tipo:

La petición COMMIT TRANSACTION no tiene la correspondiente BEGIN TRANSACTION

The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION

No sé realmente la causa, alguien tiene alguna idea, ya estoy desesperado.

Saludos cordiales,

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
26/05/2006 - 12:49 | Informe spam
"solusoft" wrote in message
news:
Estoy en un caso raro con transacciones, me da errores y no consigo
detectar la causa.

Digamos que tengo un form en el que inicio una transacción, y utilizo un
DataAdapter.Update para actualizar datos que contiene un DataSet.

La cuestión es que al Aceptar Transacción me da un error de este tipo:

La petición COMMIT TRANSACTION no tiene la correspondiente BEGIN
TRANSACTION



Tiene toda la pinta de que el UpdateCommand del DataAdapter no tiene
asignado el mismo objeto SqlTransaction con el que iniciaste la transacción
en el form. ¿Has comprobado que realmente esté bien asignado?
Respuesta Responder a este mensaje
#2 solusoft
26/05/2006 - 14:14 | Informe spam
Si, eso lo comprobé, fue lo primero que pensé.

He descubierto algo pero no tiene mucho sentido.

hago estos pasos,

Inicio la transacción

Ejecuto una select que está mal, por conversión de tipos,

tengo cd_asociacion = 0001 , cu ando debería poner cd_asociacion='0001'

el caso que no falla y me devuelve un valor. Un misterio, pues en analizador
de consultas claramente falla ( Error de sintaxis al convertir el valor
varchar 'adsg' para una columna de tipo de datos int ). Debería fallar al
ejecutar la sql y no lo hace !!!


Cuando llega a
System.Data.DataTable dtChanges = ds.Tables[indiceTable].GetChanges();
int afectadas = (da as System.Data.Common.DbDataAdapter).Update(dtChanges);
ds.AcceptChanges();

parece que hace el update bien, pues afectadas vale 1.

Cuando voy a hacer el commit, es cuando me falla.

Si la consulta anterior, pongo cd_asociacion = '0001' no hay problema.


No tiene sentido para mi, que ese error sea por unas comillas.


"Alberto Poblacion" wrote:

"solusoft" wrote in message
news:
> Estoy en un caso raro con transacciones, me da errores y no consigo
> detectar la causa.
>
> Digamos que tengo un form en el que inicio una transacción, y utilizo un
> DataAdapter.Update para actualizar datos que contiene un DataSet.
>
> La cuestión es que al Aceptar Transacción me da un error de este tipo:
>
> La petición COMMIT TRANSACTION no tiene la correspondiente BEGIN
> TRANSACTION

Tiene toda la pinta de que el UpdateCommand del DataAdapter no tiene
asignado el mismo objeto SqlTransaction con el que iniciaste la transacción
en el form. ¿Has comprobado que realmente esté bien asignado?




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida