Page 2 of 2

Re: RDD SQL , MEDIATOR, SQL RDD, Necesito Información

Posted: Sat Mar 23, 2013 12:19 am
by interwin
Muchas gracias por la respuesta devtuxtla,

Una pregunta mas ¿Al usar las transacciones se bloquea toda la tabla hasta que termina la transaccion o solo se bloquean los registros ques seran cambiados?-

Saludos.

Jose R.

Re: RDD SQL , MEDIATOR, SQL RDD, Necesito Información

Posted: Sat Mar 23, 2013 1:11 am
by devtuxtla
Hola

NO en realidad NO... Sin embargo debes saber como opera MySQL a diferencia de Oracle y MSSQL, cuando actualizas los registros.
La metodologia que utiliza MySQL, te permite alterar los registros y compartirlos inmediatamente. Algo muy parecido al Rlock().
Claro que MySQL tiene una sentencia equivalente a Rlock y Flock, pero si tenemos un codigo escrito para xBase, NO requieres estas Sentencias, basta con proteger la transaccion.

Te recomiendo que tambien estudies un poco de MySQL ya que hay muchos sentencias de MySQL que puedes usar con SQLRDD.
Entre mas conoces de MySQL, podras combinarlo con SQLRDD y hacer más con tu mismo codigo, sin mucho esfuerzo.

El cambio fundamental para hacer robusta tu aplicacion, es pensar en TRANSACCIONES.

Saludos

Re: RDD SQL , MEDIATOR, SQL RDD, Necesito Información

Posted: Sat Mar 23, 2013 1:36 am
by interwin
DevTuxla

Gracias por tu respuesta

Me pondre a estudiar

Saludos.

Re: RDD SQL , MEDIATOR, SQL RDD, Necesito Información

Posted: Mon Mar 25, 2013 11:08 am
by thefull
Gracias por las respuestas.

En conclusión, lo único que me sirve es Mediator, miraré de hacerlo probar con MySQL.

La idea de NO TOCAR NADA, es decir, instrucciones del SR_BeginTrans()... etc,etc.. no me sirve.
Yo uso TDolphin de Daniel para mi aplicación, pero esto es enfoque totalmente diferente al usar RDD.

Si tengo que tocar cientos de miles de lineas de codigo, lo dejo trabajando con DBF ;-)
La idea es hacer una transición lo más rápida posible.

Re: RDD SQL , MEDIATOR, SQL RDD, Necesito Información

Posted: Mon Mar 25, 2013 12:34 pm
by hmpaquito
devtuxtla wrote:Hola

Efectivamente estas funciones NO aplican en SQLRDD.

Lo que debes hacer es utilizar la proteccion de la transaccion, existen CUATRO Funciones de SQLRDD que debes adicionar a tu codigo para proteger la transaccion:

Yo lo hago asi, y funciona muy bien:

TRY
SR_BeginTransaction()

REPLACE ....


SR_CommitTransaction()
SR_EndTransaction()

CATCH oERR
SR_RollBackTransaction()
MSGINFO("Error001 NO de adiciono la Información de la tabla XXXX","Error...")
MSGALERT(PR_ErrorMessage( oErr ),"Alerta...")
END TRY
Saludos
Yo, antes de cambiar POR TODAS PARTES el código para poner POSIBLES PESADAS transacciones, lo que habría hecho es habilitar algún mecanismo de bloqueo propio, un bloqueo para archivo (flock()) y otro para registro (rlock()). Creo que con MutEx se podría hacer. De manera que 1) habría nuevas funciones de bloqueo MiFLock(), MiRLock(), MidbUnLock() o bien 2) se podrían sobreescribir las nativas.

En fin... la idea sería tocar lo menos posible los fuentes.

Rlock() y Unlock()

Posted: Mon Jun 30, 2014 5:25 pm
by Yessica
Hola a todos:

Necesito un apoyo si son tan amables, actualmente programando con five-win, utilizo para bloquear un registro a usar, con la funcion Rlock(), pero lo que necesito ahora es que las misma tabla que se esta utilizando con el registro bloqueado, cuando entre una peticion de otro programa que se realizo en Visual Basic, este sepa que el registro esta ocupado y asi a la inversa.

Espero me puedan ayudar como seria esto.

Gracias a todos. Master Linares ojala y me pueda ayudar.