Intentando de nuevo el uso de SQL - Solucionado

Intentando de nuevo el uso de SQL - Solucionado

Postby miarcod » Thu Oct 15, 2020 5:06 pm

Hola de nuevo,

Debido a los problemas que me estoy encontrando en el uso de fichero dbf con indices cdx estoy volviendo a valorar el paso a sql. El caso es que dado que la aplicación es muy grande me cuesta mucho el cambio pues la lógica de acceso a los datos es distinta.
Ahora tengo la oportunidad de crear un nuevo módulo de gestión de tickets independiente que ya tengo programado con dbf/cdx pero estoy valorando la posibilidad de hacer la migración a sql con mariadb empezando por este módulo.
La pregunta es la siguiente

¿Existe algun problema con mezclar codigo con sql y con dbf? Los datos de los clientes estarían en dbf pero los datos de los tickets estarían en sql. No puedo pasar los clientes a sql porque el resto de los módulos deberían seguir trabajando con dbf.

Otro problema que al que no encuentro solución, es como abordo el tema de la concurrencia. Dado que el sistema muestra los tickets pendientes de gestion podría darse el caso de que un usuario iniciase la gestión de un ticket y otro usuario desde otro terminal intentase hacer lo mismo, con dbf/cdx lo tengo facil pues mientras el usuario accede al ticket lo bloqueo y el otro usuario no puede gestionarlo. He leido el tema de las transacciones pero si los dos usuarios acceden simultaneamente al mimso ticket el trabajo de uno de ellos es inutil.

¿Como se abordais la problematica de la concurrencia y el bloqueo de registros cuando estamos trabajando con sql?

Perdon por el rollazo y gracias de antemano.
Un saludo
Last edited by miarcod on Wed Nov 04, 2020 5:34 pm, edited 1 time in total.
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm

Re: Intentando de nuevo el uso de SQL

Postby carlos vargas » Thu Oct 15, 2020 6:03 pm

investiga Transacciones.
y sobre sobre select ... for update ....
no hay problemas con manejar ambas dbf y sql.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Intentando de nuevo el uso de SQL

Postby Armando » Fri Oct 16, 2020 1:12 am

Hola:

Tienes un correo?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3229
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Intentando de nuevo el uso de SQL

Postby miarcod » Sat Oct 17, 2020 2:25 pm

Hola
mi correo es
miarcod@gmail.com
Un saludo
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm

Re: Intentando de nuevo el uso de SQL

Postby Rick Lipkin » Sat Oct 17, 2020 7:15 pm

MS Access and MS Sql Server can use opportunistic locking .. Our Friend Rao has developed ADO Sql Wrappers that simplify the code below ...

Code: Select all  Expand view  RUN

oRsEmp := TOleAuto():New( "ADODB.Recordset" )
oRsEmp:CursorType     := 1        // opendkeyset
oRsEmp:CursorLocation := 3        // local cache
oRsEmp:LockType       := 3        // lockoportunistic

cSQL := "SELECT * from [Employees] Order by [Employee]"

TRY
   oRsEmp:Open(cSQL,oConnect )
CATCH oErr
   MsgInfo( "Error in Opening EMPLOYEES table" )
   RETURN(.F.)
END TRY

 


Simplified Sql Wrappers from Rao in your FW folder

source\function\AdoFuncs.prg

Rick Lipkin
User avatar
Rick Lipkin
 
Posts: 2666
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Intentando de nuevo el uso de SQL

Postby miarcod » Mon Nov 02, 2020 7:13 pm

Hola de nuevo
Acabo de probar el codigo

Code: Select all  Expand view  RUN
SELECT * from mi_tabla  WHERE id=25 FOR UPDATE


para cargar en un dialogo los datos que se quieren modificar. Hasta que el usuario libere este registro no se debería poder modificar.

Pero si desde otro terminal ejecuto la misma sentencia me deja hacerlo también.

¿Como hacer para evitar que un segundo usuario pueda acceder a la misma fila de la tabla en modo modificación?
miarcod
 
Posts: 199
Joined: Tue Oct 11, 2005 2:17 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 42 guests