Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/11/2009, 11:23
davisoski
 
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 16 años
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