Migración a software en red

Hola, podrías decirme, cuales son los pasos para migrar un programa en vissual fox creado para que funcione para una sola maquina migrarlo a que funcione en red, básicamente en 2 computadoras, que los datos que se ingresen en una se estén viendo en tiempo real en la otra y viceversa,
Que comandos usar, que funciones cambiar, que le tengo que hacer a la base de datos y a las tablas, por favor se lo más especifico, possible
Gracias por tu ayuda

5 Respuestas

Respuesta
1
Ok. Te voy a dar una solución para que tu apicación funcione multiusuario y pueda trabajar como deseas aunque para una verdadera aplicación para red debes pensar en cliente servidor. Para lo que deseas debes:
Ubica este código al inicio del programa:
SET EXCLUSIVE OFF
SET MULTILOCKS ON
SET REPROCESS TO AUTOMATIC
SET LOCK ON
SET REFRESH TO 5
Éste código configugrará tu programa para que funcione en un entorno de red.
Ahora bien: si deseas que te de una mano mejor, debes colaborarme un poco para darte indicaciones más precisas; en primer lugar debo conocer que versión de foxpro trabajas, como has configurado tu base de datos, si usas vistas locales o remotas. Si de esas más ayuda puede escribirme a [email protected], además inclúyeme en tu messenger el mio es [email protected], así te puedo colaborar más, tengo algunos artículos y manuales que te pueden interesar, dame tus datos y te los envío. Con el código que te sugerí al comienzo es suficiente para que tu programa funcione en entorno de red.
¿Ya noes necesario shared?
VFP 6.0
Es una base de datos normal, no hay tablas independientes, ni tablas relacionadas en el entorno de la BD, no tengo ni una vista uso cursores
tengo 2 formularios, no tengo programa principal, en los 2 tengo que incluí ese código, y uso set exclusive ON para borrar como hago en este caso, ¿desactivo activo y desactivo luego?
Lo genere con el wizard para proyectos VFP,
Gracias, escríbeme a este correo, gracias no uso messenger
Cuando abres una base de datos por código siempre debes abrirla con Shared par que funcione en entorno de red, pero si la asignas a tu formulario mediante el motor de base de datos de fox ella se abrirá en modo exclusivo al estar set exclusive off, para elimar los daots necesitas abrir la tabla en modo exclusivo pero para evitar esta abriendo y cerrandom puedes usar Delete, esto marcara el registro como eliminado pero no lo borrará por completo, luego si quieres borrar totalmente el registro puede fijar una opción en la cual se haga un mantenimiento a la tabal, la abres en exclusivo y le corres el pack y el reindex.
Amigo enviame un correo y te envío una plantilla que uso para realizar mis programas. Ya está configurada para trabajar en entorno de red.
Respuesta
1
Los comandos q debes utilizar , basicos, es el SET EXCL OFF ,
select 0
set excl off
use mytabla
en el programa principal tener un comando como
open data c:\mydirec\bdr_prg1.
Que es el contendor de tablas y que debe esar en cada maquina
Para usar una tabla dbf. Puedes hacer lo siguiente:
Crear una unidad lógica de conexión del equipo que contiene las tablas y en el programa principal colocar
path='y:\mytablasenred\tablas;c:\mytablasenred\tablas
La segunda es para el computador que contiene las tablas ...
O bien puedes crear conexiones odbc y crear vista remotas y actuaklizables ... esto requiere de más código y cambia un poco más tus programas
path='y:\mytablasenred\tablas;c:\mytablasenred\tablas
Disculpa, como creo una unidad lógica en XP, ¿ya qué esto debo hacerlo en donde tengo las tablas? ¿Y qué hago con relación al EXE? Debe de estar en la maq que tiene las tablas, ¿osea debe de haber 2 exes? ¿Uno qué haga referencias a Y:\ que es la que no tendrá el exe y la principal a C:\ de donde se hará una acceso directo a la que no tiene?
Disculpa amigo se más especifico, estoy en 0; gracias
Si en el equipo donde tienes las tablas debes entrar por explorador y compartir la carpeta donde esta las tablas y el exe . en los demás equipos de la red buscas el equipo origen y haces una conexión lógica, tambin por explorer ...
Explorador. Herrameintas. Conexion unida logica ...
Respuesta
1
Checa en la ayuda el tema:
Programar para acceso compartido
Aquí te menciona que funciones manejar.
Si no lo tienes, mandame tu dirección de correo para que te mande el archivo...
Respuesta
1
En estos días estuve de 'vacaciones', así entre comillas ya, que tenía dos empleos y salía hasta las 11 de la noche de uno de ellos; pero hoy te prometo que te escribiré una respuesta para que te des una idea de lo que tienes que hacer con tu aplicación para poder utilizar tus tablas en tiempo real en más de una máquina.
Mándame tu correo electrónico para enviarte un archivo que contiene información sobre manejo de tablas en red. Estoy trabajando en la creación de un ejemplo específico para ti. Para empezar usa el archivo que quiero enviarte: Activa el índice y, revisa el comando RLOCK(). Ahí hallarás información sobre los comandos necesarios y, ejemplos de cada uno. No olvides ver cada uno de los links y, sobre todo la sección Programando en Red. Te dará una idea detallada de lo que necesitas aprender. Lo más probable es que con esto sea suficiente; sin embargo quiero escribirte un ejemplo real, ya que yo también necesito crear una aplicación de ese tipo. Mi correo es í[email protected]
mi correo es [email protected]
Gracias
Estuve buscando ejemplos para la creación de aplicaciones en red y, me encontré que en la ayuda existen archivos detallados de esa clase. Están en Ayuda (Help)->Aplicaciones de ejemplo (Sample Applications)->Cliente|Servidor (Client|Server). Si instalaste los programas de ejemplo, funcionarán los dos opciones Abrir (Para ver los formularios y códigos) y, Ejecutar (Run); donde verás el funcionamiento y, detalles del código.
Revisa esos ejemplos y, no olvides valorar la respuesta.
Respuesta
Para que una aplicación funcione en rede debe tener encuenta el modo como abre las tablas y la bses de datos para esto debe estudiar el SET EXCLUSIVE el cual le indica si las talbas se abren en forma exlcusivo (SET EXCLUSIVE ON) o para que funcione en red las debe abrir en forma comaprtida que es (SET EXCLUSIVE OFF) de todas formas le recomiendo que ustudie lo de cliente servidor, el comando SET REFRESH TO para ver información en linea y todo lo que tiene que ver con bloqueso de registros
Chao

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas