Buenas tardes Àlex, 

Es para puntualizar el bloqueo de registro para actualización.

En principio para una lectura/actualización el registro leído con la sentencia  
 FOR UPDATE WITH RS USE AND KEEP EXCLUSIVE LOCKS al final de la SELECT bloquea 
el registro para las demás demandas, pero al ir a actualizar por la sesión que 
ha bloqueado el registro parece que el servidor lo realiza por otra instancia y 
el registro no se desbloquea.

Hemos configurado el servidor de Zend para que utilice una hebra.

Bloquea registro pero no deja actualizar a la sesión de Lectura/actualización.

Estamos usando la clase PDO de PHP para las conexiones con la base de datos.

Si le ponemos el atributo de conexión persistente a False, la sesión no bloquea 
porque varias sesiones tienen un misma instancia del servidor.

Si lo ponemos a True, la instancia del servidor es diferente, bloquea el 
registro pero otra sesión lo ve bloqueado, pero no puedo actualizar el registro 
y desbloquear. 

Como se podría solucionar el problema de concurrencia, concurrencia pesimista, 
crear una tabla de bloqueos no nos convence y el select for update no actualiza 
el registro.

 

Saludos,

 

Joxean Muguruza

 

 

De: [email protected] 
[mailto:[email protected]] En nombre de Joxean Muguruza 
Enviado el: lunes, 05 de octubre de 2015 16:08
Para: 'forum.help400' <[email protected]>
Asunto: RE: Tratamiento de Registros con PHP

 

Buenas tardes,

 

Confirmar que con la sentencia abajo indicada, se controla la lectura en 
exclusiva y la actualización de un registros por medio de SQL que utilizamos 
para programación en PHP.

 

Gracias Àlex,

 

 

De: [email protected] 
<mailto:[email protected]>  
[mailto:[email protected]] En nombre de Joxean Muguruza 
Enviado el: viernes, 02 de octubre de 2015 8:24
Para: 'forum.help400' <[email protected] 
<mailto:[email protected]> >
Asunto: RE: Tratamiento de Registros con PHP

 

Gracias Álex, lo voy a probar.

 

De: [email protected] 
<mailto:[email protected]>  
[mailto:[email protected]] En nombre de Àlex Corretgé
Enviado el: jueves, 01 de octubre de 2015 23:08
Para: forum.help400 <[email protected] 
<mailto:[email protected]> >
Asunto: Re: Tratamiento de Registros con PHP

 

Hola Joxean,

 

ahora no tengo un IBM i a mano para probarlo, pero si la lectura, el bloqueo y 
la actualización se ejecutan en el mismo thread, creo que has de especificar 

 

FOR UPDATE WITH RS USE AND KEEP EXCLUSIVE LOCKS al final de la SELECT.

 

 

 




Atentament / Kind Regards

Àlex Corretgé

 

  <http://corretge.cat/pgmrtools/corretge.com.png> 

 

Carrer Major, 6
17142 - Verges
Tel: +34 972 780 422
Cell: +34 669 86 92 64

Serveis Informàtics Corretgé.com

*        <http://corretge.cat/> http://corretge.cat/
*       twitter:   <http://twitter.com/corretge> @corretge
*       LinkedIn: http://www.linkedin.com/in/corretge

 

2015-09-30 15:20 GMT+02:00 Joxean Muguruza <[email protected] 
<mailto:[email protected]> >:

 

Buenas Tardes,

 

Estamos empezando a desarrollar con PHP contra Power I, Apache  , Zend server y 
driver PDO) estamos utilizando el driver de acceso PDO, no tenemos claro cómo 
tratar los bloqueos de registro en el momento de leer para actualizar. Me 
explico, para modificar los valores de los registros hay una lectura y 
posterior una actualización, como se bloquea el registro de forma controlada 
para poder realizar este tratamiento.  

 

No sé si alguien ha desarrollado con PHP.

 

Gracias,

 

Joxean Muguruza

 

E-mail: [email protected] <mailto:[email protected]> 

Departamento de análisis y programación.

___________________________

EKINFORMATIKA, S.L.

Dtor... Delgado Amestoy, 3, Bajo Dcha.

20001 San Sebastián

Tlfno: 943.28.22.21  Fax: 943.32.72.00

E-mail:[email protected] <mailto:e-mail%[email protected]> 

Web:  <http://www.netekin.com/> www.netekin.com

 

Confidencialidad 
Este correo electrónico y, en su caso, cualquier fichero anexo al mismo, 
contiene información de carácter confidencial exclusivamente dirigida a su 
destinatario o destinatarios y propiedad de Ekin. Queda prohibida su 
divulgación, copia o distribución a terceros sin la previa autorización escrita 
de Ekin, en virtud de la legislación vigente. En el caso de haber recibido este 
correo electrónico por error, se ruega notificar inmediatamente esta 
circunstancia mediante reenvío a la dirección electrónica del remitente y la 
destrucción del mismo.

 

 

 

 


____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

 

____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a