Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Bloqueos / Id. de proceso (https://www.clubdelphi.com/foros/showthread.php?t=27385)

Oxa78 18-11-2005 18:44:41

Bloqueos / Id. de proceso
 
Saludos : Muchas gracias por la ayuda.

Tengo una aplicación en D7, con BDE y SQL Server 2000 con su parche.

Y aveces tengo bloqueos en la BD.

Lo critico de esto, es que a veces se bloquea un Objeto, es decir una tabla y todos se congelan.
Entonces la solución es terminar el bloqueo en el "Enterprise Mannager" del SQL y listo. La sentencia que bloquea es un update simple. Pero no pasa seguido.

Un detalle, en esa tabla solo tengo un Indice que está ubicado en el grupo de archivos : PRIMARY.

Lo que queria saber son cuales serian los motivos posibles, de estos bloqueos, para ir revisando paso por paso en mi aplicación. O derrepente algun link donde pueda encontrar información sobre este tema.

Muchas gracias

Xianto 18-11-2005 19:31:06

Pues la solución aunque sea extraña es muy simple, al menos así lo solucionamos en la empresa donde trabajo...

Cuando haces un select de cualquier tipo has así:

Código:

select * from tabla (nolock)
 
select *
  from tabla1 t1 (nolock)
  inner join tabla2 t2 (nolock) on
          t1.campo=t2.campo

Es extraño, pero aunque en la documentación del SQL, viene que puedes predefinir una variable del servidor para evitar esto, te aseguro que siempre da bloqueos...

Ojo, en los updates, inserts o deletes esto te daría error, así que ahí no lo uses !!!

Ya me contarás, saludetes !!!

Oxa78 18-11-2005 19:37:55

Saludos : Gracias por la respuesta.

Si me servira para todos los "SELECT".

Mi problkema critico es el bloqueo con una sentencia UPDATE.

Por eso queria saber los posible motivos de un bloqueo de Tabla por unas entencia UPDATE.

Muchas Gracias

Xianto 18-11-2005 20:35:44

Bueno, ahi ya no se...

Yo siempre he usado ADO para conectarme y trabajar con la DB.

Igualmente, cuando hacia un update o insert, algun programa se bloqueaba porque justo en ese momento otro usuario estaba con una select de la misma tabla sin el (nolock).

Bue, espero que encuentres la respuesta !

Oxa78 18-11-2005 20:49:06

OK, muchas gracias por la respuesta.

Seguire con el seguimiento para econtrarle el patron de bloqueo,

Gracias

Xianto 19-11-2005 20:03:52

Oye, he visto algunos sitios con gente que tiene algun que otro problema parecido, y no solo con SQL sino tambien con otras DB...

En muchos de estos sitios la gente contesta con usar ADODB... Porque por puro gusto no intentas hacer alguna rutina simple para trabajar con ADO en vez de BDE.

Quizas la respuesta este ahí !

Oxa78 21-11-2005 15:20:05

Gracias, me motivas a hacer la prueba.

Cambiare la arquiectura para acceder con ADO.

Espero de buen resultado.

Muchas Gracias


La franja horaria es GMT +2. Ahora son las 18:42:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi