FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Intentando de nuevo el uso de SQL - Solucionado
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
Intentando de nuevo el uso de SQL - Solucionado
Posted: Thu Oct 15, 2020 05: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
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Intentando de nuevo el uso de SQL
Posted: Thu Oct 15, 2020 06: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)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Intentando de nuevo el uso de SQL
Posted: Fri Oct 16, 2020 01: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
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
Re: Intentando de nuevo el uso de SQL
Posted: Sat Oct 17, 2020 02:25 PM

Hola
mi correo es

miarcod@gmail.com
Un saludo

Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: Intentando de nuevo el uso de SQL
Posted: Sat Oct 17, 2020 07: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 (fw): Select all Collapse
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
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
Re: Intentando de nuevo el uso de SQL
Posted: Mon Nov 02, 2020 07:13 PM
Hola de nuevo
Acabo de probar el codigo

Code (fw): Select all Collapse
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?

Continue the discussion