FoxPro/Visual FoxPro - compartir tablas con SELECT

 
Vista:

compartir tablas con SELECT

Publicado por javier (24 intervenciones) el 27/07/2010 17:38:40
Hola
Estoy trabajando en una aplicacion , que tiene tablas libres montadas en un servidor, hago las consultas a atraves de sql ,pero no se libera la tabla despues de generar la consulta por lo que otro usuario no puede acceder a la tabla.
¿Como podria compartir la tabla , o liberarla almomento de generar un cursor despues de consultar ?

Atte Javier
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:compartir tablas con SELECT

Publicado por es_binario (757 intervenciones) el 27/07/2010 18:15:45
Hijole, lo mejor seria usar una verdadera base de datos cliente servidor como MySql, gratuita y muy facil de usar en cliente servidor ademas rapida y poderosa, totalmente compatible con foxpro.

para liberar una tabla despues de usar la clausula use MiTabla alias etc..
usa el mismo use Ejem.

use \\athlon\datos\articulos.dbf alias mis_articulos
select * from mis_articulos where articulos.nombre_art like cArticuloBusca;
into cursor resultado_art_busca
use

pero la verdad es que esto apenas es el comienzo de una serie de problemas que vas a ir teniendo como por ejemplo como saber si tienes articulos disponibles o saber si alguien mas no lo vendio en otro punto de venta, o saber si por ejemplo no ha cambiado el precio mientras hacias una consulta lo mejore es usar un motor de datos sql server, como mysql, crear distintos usuarios en el motor mysq, dar los permisos necesarios tambien en mysq sobre la base de datos. y asi tu programa tendra seguridad en la informacion sin riesgos de perderla por un uso simultaneo de tablas o de permisos

por ejemplo tambien tienes que ver si 2 equipos coinciden en el mismo segundo para acceder a la tabla articulos si por ejemplo buscan un articulo en el punto de venta, esto no solo podria generar un problema en ambas estaciones, sino que en el servidor, al ser una dbf un fichero el antivirus podria detectar el acceso como un ataque malicioso dañando tu tabla.

Mi conclucion es que en sistemas cliente servidor usar bases de datos cliente servidor, y si puedes en todas tus aplicaciones.

Saludos.
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:compartir tablas con SELECT

Publicado por javier (24 intervenciones) el 27/07/2010 21:12:26
ok

Una sola duda , mysql mejoraria la rapidez de busque en red con instrucciones Select y clausulas LIKE.

Estoy en estos momentos emigrando mis DBF a una Base Sql , para probar , te cuento que manejos 8 tablas con 190.000 registros aproximadamente cada una y todas relacionadas.

Gracias
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:compartir tablas con SELECT

Publicado por javier (24 intervenciones) el 27/07/2010 22:16:34
Despues de ver este video me quedo muy claro todo
a emigrar a MYSQL mis tablas.

http://www.youtube.com/watch?v=79iNPw95qpU
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
sin imagen de perfil

RE:compartir tablas con SELECT

Publicado por Juanma Cruz (512 intervenciones) el 27/07/2010 20:16:43
En efecto, lo que dice es-binario es cierto.

Mientras tanto, para ir tirando con lo que tienes... pareciera que dejas los exclusivos activados, y eso no está bien en un entorno multiusuario.

Asegurate de tener

set exclusive OFF

en tu sesión actual de datos.

Así, el SQL Select no abre las tablas libres en exclusiva.

Si por alguna razón necesitas tener dichas tablas disponibles, pues usa el 'USE IN'

Select * from c:\dbf\MiTabla into cursor sqlConsulta
Use in MiTabla

Así la liberas enseguida.

Pero vamos, la primera respuesta que te han dado es un buen camino a seguir, a mediano plazo, deberías ir planteándotelo.

Saludos.
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