Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Transacción para multiples actualizaciones

Estas en el tema de Transacción para multiples actualizaciones en el foro de SQL Server en Foros del Web. Hola. Estoy intentando actualizar un grid (rejilla) de datos en una tabla. Cada fila del grid genera una sentencia de actualización (update) sobre la tabla. ...
  #1 (permalink)  
Antiguo 30/11/2009, 11:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Transacción para multiples actualizaciones

Hola.

Estoy intentando actualizar un grid (rejilla) de datos en una tabla. Cada fila del grid genera una sentencia de actualización (update) sobre la tabla. Finalmente tengo 32 consultas de actualización en los 32 registros de la tabla a actualizar.

Para ello utilizo un vector con las cadenas que contienen las consultas y otro los prepareStatement.

Siempre obtengo el mismo error:

SQLState: 08007

El código que utilizo es este

& nbsp; conn = dataSource.getConnection();
conn.setTransactionIsolation(Connection.TRANSACTIO N_SERIALIZ ABLE);
// Preparamos la conexión para realizar las transacciones
conn.setAutoCommit(false);
for (int i = 0; i < maxDias; i++) {
updateConsultaGridPS[i] = conn.prepareStatement(updateConsultaGrid[i]);
}

conn.commit(); // No exceptions so updates OK so commit.
conn.setAutoCommit(true);



Si solo hago una actualización de esta forma

updateConsultaGridPS[0] = conn.prepareStatement(updateConsultaGrid[0]);
updateConsultaGridPS[0].executeUpdate();

funciona correctamente.



Alguna sugerencia o enfoque.

Gracias

Salu2
  #2 (permalink)  
Antiguo 30/11/2009, 12:01
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Transacción para multiples actualizaciones

Mi sugerencia siempre ha sido que las TRANSACCIONES sean administradas por la base de datos, ademas, de que si cuentas con 2008 como base de dato, ya puedes manejar el tipo de dato TABLE, para mandar array's a tu base.
  #3 (permalink)  
Antiguo 30/11/2009, 12:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Transacción para multiples actualizaciones

Hola.

Gracias por el comentario.

En principio utilizo un sql server 2000, con lo que el asunto del 2008 descartado. Por otra parte, habia pensado en hacer un store procedure, pero los datos son un grid que tiene 2048 entradas (numeros), y hasta donde yo se no se puede pasar una matriz de datos (que seria lo ideal), e iterar sobre ellos en el "sp". Por esta razón he decidido plantearlo así. De todas maneras no es definitivo, y estoy en el punto en que puedo cambiarlo y enfocarlo de otra manera.

Si tienes alguna sugerencia???

Gracias
  #4 (permalink)  
Antiguo 30/11/2009, 12:44
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Transacción para multiples actualizaciones

Si, puedes manejar tus envios como XML

Aqui una sugerencia:

http://www.sommarskog.se/arrays-in-sql-2000.html
  #5 (permalink)  
Antiguo 30/11/2009, 12:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Transacción para multiples actualizaciones

Pues primera vez que lo oigo, puedes orientarme para echar un vistazo, digo, un poco mas concreto.

Gracias
  #6 (permalink)  
Antiguo 30/11/2009, 12:47
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Transacción para multiples actualizaciones

Lee la liga.....
  #7 (permalink)  
Antiguo 30/11/2009, 12:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Transacción para multiples actualizaciones

Disculpa, pero no se lo que es la liga...
  #8 (permalink)  
Antiguo 30/11/2009, 13:24
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Busqueda Respuesta: Transacción para multiples actualizaciones

Cita:
Iniciado por davisoski Ver Mensaje
Disculpa, pero no se lo que es la liga...


Con su permiso..

Solo copia en el browser (IExplorer, Firefox, etc) la direccion que publico Isaias

http://www.sommarskog.se/arrays-in-sql-2000.html


y en la parte de OPENXML, viene explicado a detalle..

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #9 (permalink)  
Antiguo 30/11/2009, 13:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Transacción para multiples actualizaciones

Disculpa iislas el problema es que no aparecía el link en la página.

Gracias a Andres tambien.

Salu2
  #10 (permalink)  
Antiguo 30/11/2009, 15:50
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Transacción para multiples actualizaciones

Suerte.....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:32.