Bloqueo tabla dbf (Browse)

HMG en Español

Moderator: Rathinagiri

Post Reply
jparada
Posts: 308
Joined: Fri Jan 23, 2009 5:18 pm
Been thanked: 5 times

Bloqueo tabla dbf (Browse)

Post by jparada »

Hola,

En un control Browse, estoy desplegando una tabla dbf, al tratar de eliminar un registro, me genera el error DBFCDX/1022 Se requiere bloqueo.

La rutina que utilizo para abrir las tablas dbfs, tiene algo así:

Code: Select all

DbUseArea( .T., , M->_Default + hb_osPathSeparator() + aDbfs[i], cAlias, .T. )
Lo importante de aquí es que las tablas las abro en modo compartido.

Al tratar de hacer:

Code: Select all

Articulos->( DbDelete() )
Es donde sucede el error,

Estas rutinas de apertura de tablas siempre me han funcionado, trabajando con Clipper o Harbour modo consola, sin ningún problema y de la misma manera desplegando los datos en un TBrowseDb.

Quisiera saber por qué el error de bloqueo, alguna ayuda por favor.

Gracias.

User avatar
srvet_claudio
Posts: 2111
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Has thanked: 48 times
Been thanked: 223 times
Contact:

Post by srvet_claudio »

Hola Javier,
No soy experto en el manejo de base de dados, pero siempre que trabajas con recursos compartidos (o que otros pueden acceder al mismo tiempo) necesitas trabar el recurso para que otro no lo intente escribir al mismo tiempo que vos. Creo que lo que necesitas es:
1) trabar la base de datos o el registro: con la función Lock ()
2) escribir o borrar el registro
3) destrabarla inmediatamente: con la función Unlock (), para permitir la escritura por otros usuarios.

Espero haberte sido de alguna ayuda.
Saludos,
Claudio Soto.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com

User avatar
srvet_claudio
Posts: 2111
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Has thanked: 48 times
Been thanked: 223 times
Contact:

Post by srvet_claudio »

Javier en la sección de ayuda de HMG, al final existe una sección CA-Clipper 5.3 donde podrás encontrar la sintaxis de todos los comandos y funciones de Clipper.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com

jparada
Posts: 308
Joined: Fri Jan 23, 2009 5:18 pm
Been thanked: 5 times

Post by jparada »

Hola Claudio,

Gracias por contestar,

Yo tampoco soy experto, pero comenté, estas rutinas de apertura de datos las he utilizado sin ningún problema en aplicaciones de consola Clipper y actualmente en aplicaciones de Consola Harbour conjuntamente con TBrowseDb con n cantidad de usuarios accesando a los mismos datos de forma simultanea (red).

Y siempre ha funcionado sin ningún problema, esas mismas rutinas las trato de aplicar en una aplicación HMG gráfica, y estoy teniendo problemas con el error comentado.

Mi duda es, si en control Browse hará algún bloqueo "por su cuenta", o qué pudiera pasar, ya que las rutinas funcionan en modo consola, tal vez alguien con experiencia en el desplegado de datos en un control Browse me pudiera ayudar dandome algún tip ó consejo, para aclararme el panorama y saber como atacar este problema.

Tu ayuda Claudio siempre es valiosa.

Gracias por ayudarme.

Saludos

User avatar
mustafa
Posts: 1008
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Been thanked: 208 times
Contact:

Post by mustafa »

Hola jparada
Te paso una rutina que algun compañero puso en esta Web
pero que no recuerdo su nombre , yo me limite añadirle alguna cosa.
Haber si te puede servir la idea.
Un Saludo
Mustafa
Attachments
Red_Servidor.zip
(761.04 KiB) Downloaded 433 times

jparada
Posts: 308
Joined: Fri Jan 23, 2009 5:18 pm
Been thanked: 5 times

Post by jparada »

Hola Mustafa y Claudio,

Fué una burrada mía, (aunque me quedo con algo de duda), pero ya esta resuelto.

Muchas Gracias a los dos por contestar.

Saludos

User avatar
srvet_claudio
Posts: 2111
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Has thanked: 48 times
Been thanked: 223 times
Contact:

Post by srvet_claudio »

Me alegro Javier que hallas podido solucionarlo.
Saludos,
Claudio.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com

Post Reply