SQL - update de un recordset de muchos registros

 
Vista:

update de un recordset de muchos registros

Publicado por Eusebio (6 intervenciones) el 06/04/2004 17:50:23
Tengo una tabla con 5.000.000 registros.
Creo un recordset para moverme por ellos en ADO.

"SELECT * from MiTabla"

De los 5.000.000 tengo que modificar un campo de unos 150.000 registros. Me voy moviendo por los registros y haciendo el correspondiente update en el recordset.

rs.update

Al cabo de un tiempo de proceso me aparece el siguiente error:

SQL Server no puede obtener un recurso LOCK en este momento. Vuelva a ejecutar la instrucción cuando haya menos usuarios activos o pida al administrador del sistema que compruebe la configuración de bloqueos y memoria de SQL Server..

Solo estoy conectado yo a la BD.
He cambiado el modo de bloqueo al hacer el recordset (adLockOptimistic, adLockPesimistic, etc...)
Pero siempre obtengo el mismo error.

Alquien tiene una idea de lo que puedo hacer?
Gracias.

PD. El mismo programa para 2.000.000 de registros no me da problemas.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:update de un recordset de muchos registros

Publicado por Isaías Islas (5072 intervenciones) el 06/04/2004 18:09:58
De los 150.000, que va a modificar, ¿el valor siempre es el MISMO?, entonces no se cree problemas usted mismo, SQL Server es un motor de base de datos que trabaja por BLOQUES DE REGISTROS, no sirve para hacerlo de uno por uno, ejecute un STORE que haga la actualizacion masiva:

UPDATE MyTabla SET MyColumna = @MyVariable WHERE MyColPK = @MyVariable2

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Eusebio (6 intervenciones) el 06/04/2004 22:59:43
Gracias por tu respuesta pero no me sirve... te explico:

Tengo 2 recordsets: Uno con los 5.000.000 de registros y otro con 150.000
Dependiendo de unos cálculos del segundo recordset me voy al numero de registro que me da y marco con un 'X' el registro del primer recordset.

Alguna sugerencia?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Eusebio (6 intervenciones) el 06/04/2004 23:00:13
Gracias por tu respuesta pero no me sirve... te explico:

Tengo 2 recordsets: Uno con los 5.000.000 de registros y otro con 150.000
Dependiendo de unos cálculos del segundo recordset me voy al numero de registro que me da y marco con un 'X' el registro del primer recordset.

Alguna sugerencia?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Isaías Islas (5072 intervenciones) el 06/04/2004 23:37:27
Mandame la condicion por la cual obtienes el PRIMER RECORDSET, los calculos que le haces y como determinas que registro debes actualizar en el segundo recordset y te mando el Script de la actualizacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Eusebio (6 intervenciones) el 07/04/2004 17:27:32
He conseguido solucionarlo... Pongo aquí la solucion por si alguien tiene en el futuro el mismo problema.

Antes de hacer el open del recordset añado esto:

rs.cursortype=aduseserver
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Isaías Islas (5072 intervenciones) el 07/04/2004 20:56:05
Le deseo sinceramente que la solución que encontro NO sea un espejismo a una solucion real.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Eusebio (6 intervenciones) el 07/04/2004 23:14:25
Por suerte¿? no ha sido un espejismo. El proceso ha tardado 8 horas y ha terminado con éxito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Isaías Islas (5072 intervenciones) el 08/04/2004 00:17:29
8 HORAS !!!!!, siga con su proceso, que podria durar 5 minutos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Eusebio (6 intervenciones) el 08/04/2004 01:22:21
Isaías,
Ayer te mandé el código... Si puede hacerse en 5 minutos te agradecería que me dijeras cómo.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:update de un recordset de muchos registros

Publicado por Isaías Islas (5072 intervenciones) el 08/04/2004 18:45:52
No me ha llegado ningun codigo, vuelvelo a enviar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar