FoxPro/Visual FoxPro - accesos concurrentes en vfp y sql

   
Vista:

accesos concurrentes en vfp y sql

Publicado por Berni (4 intervenciones) el 02/11/2008 14:29:23
Trato de simplificar mi duda y planteo.
Entorno : vfp9, ms sqlserver2000, varios clientes accediendo a la misma
base de dato de ms sqlserver2000.

prg. de juan, prg. de pedro, ... prog de N en una red local
leyedon y actualizando dato de Stock

Inicialmente en stock hay 50 cocacolas.

Planteo es: en un momento concurrente juan vende 10, pedro vende 5 cocacolas.

ESTOS dos procesos separados en tiempo diferido serian:
Juan lee dato de base cocacola 50 y vende 10 y actualiza base con 40.
Pedro lee dato de base cocacola 40 y vende 5 y actualiza base con 35.
El valor final debe ser 35.

Pero,
SI estos dos procesos occuren en forma concurrente van a ser confusos y caoticos.
Juan lee 50 / Pedro lee 50 / Juan vende 10 y actualiza con 40 / Pedro vende 5 actualiza con 45
El valor final es 45. ===> es INCONSISTENTE !!!

Aplicando : Sqlstringconnect("....") / SQLExec( .."SELECT...."..) / SQLExec( .."UPDATE...."..)
pude esta situacion confuso.

Por favor le pido su ayuda.

Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:accesos concurrentes en vfp y sql

Publicado por Bernal Delgado (25 intervenciones) el 02/11/2008 19:02:11
Saludos Berni,

En la empresa que trabajo implementamos un sistema en VFP y son MS SERVER, y no hemos tenido ese problema que temes, y es un sistema donde al menos son 15 pc facturando, el problema no se da en la actualización, lo unico que tienes que tomar en cuenta es cuando se esta vendiendo, eso por ejeplo si quieres controlar que los vendedores solo tengan acceso a las existencias reales, eso como lo solucionamos agragando una tabla temporal donde almacenamos las lineas que se estan facturando y cuando otro quiere facturar ese producto le restamos las cantidades en esa tabla a la existencia y listo, ellos solo pueden vender de lo que realmente se dispone. Pero a la hora de hacer los update nunca hemos tenido problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:accesos concurrentes en vfp y sql

Publicado por Berni (4 intervenciones) el 06/11/2008 01:36:20
Hola soy berni que deje la pregunta sobre "accesos cocurrentes en vfp y sqlserver"
Gracias por su respuesta.

Pero No pude comprender bien su explicacion que Ud. habia dejado en el sitio lawebdelprogramador.
Me la puede detallar un poco mas ... por favor ?



Veo la naturaleza de accesos concurrentes
es imposible que sea el sistema tiempo real con datos al mismo tiempo consistentes
para los usuarios que acceden a la base del sistema.

Estaba pensando lo siguiente:
En la base hay que tener los registros temporarios (de unidades vendidas)
para cada pc's de determinado producto y sumar ( por ejemplo cocacola ) acumulando las unidades vendidas haciendo updates a sus registros temporarios correspondientes.

En un dia , tres momentos definidos a la maniana al mediodia y al cierre, un proceso
bloquea la tabla stock, para pasar unidades vendidas de registros temporarios de cada pc's ( o treminales) sumandolos luego hace update al registro stock del determinado producto, en este caso cocacola. Y poner cero en los registros temporios de unidades vendidas para cada terminal.


Pero este planteo tiene por si tiene ciertas desventajas.
1. Yo, sin que corra el proceso de actualizacion que se realiza 3 veces al dia
es dificil saber el stock real de los productos.
2. Mientras corra este proceso de actualizacion todos terminales no pueden trabajar
con la base porque la base, por lo menos la tabla de stock, estaria bloquedado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar