Visual Basic - Ejecutables

Life is soft - evento anual de software empresarial
 
Vista:

Ejecutables

Publicado por David Moreno (1 intervención) el 08/07/2004 14:31:02
Hola a todos , y todas.
El problema que tengo es el siguiente , tengo un programita que se ejecuta a traves de la red, y hasta aqui funciona todo correctamente, el problema lo tengo cuando desde el programa de servidor le doy al mantenimiento de la base de datos que basicamente lo que hace es compactarla, me da errores si la base de datos esta abierta , lo que me hace falta es poder cerrar los ejecutables de mi programa que esten ejecutando en los ordenadores cliente ,por que asi se cierra la base de datos.
Gracias por la ayuda.
PD . Si poneis codigo explicarlo un poco , por favor. Gracias de nuevo.
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:Ejecutables

Publicado por Dante (40 intervenciones) el 09/07/2004 14:35:05
David:
según lo que cuentas "el programa se ejecuta a través de la red", por lo que no lo has programado con sockets. Imagino que compartiste una carpeta y allí metiste la db y el exe para facilitar el acceso a datos desde VB...
Bueno...si lo que hiciste fue esto y no me equivoco (si no lo es,por favor aporta más datos) podrías hacer lo siguiente.....

Primero (no es imprescindible pero dará robustez a tu programa):
crear una tabla que contenga los usuarios conectados
allí guardarías cada usuario que se conecta y lo borrarás cada vez que se desconecta

segundo:
colocar un timer en el Form principal que cada x tiempo verifique si existe cierto archivo en el path del exe (\\server\carpeta\), pongámosle de nombre "desconectar.ya" ..... y si existe :-) pues finalizamos el programa y ya (con End). aunque siempre conviene avisar y dar un plazo. podrías mostrar un mensaje que diga "El sistema se desconectará en un minuto"

Tercero
la primer sentencia de la aplicación deberá verificar que no exista el archivo "desconectar.ya" y si existe mostrar un mensaje que diga "La DB está corriendo tareas de mantenimiento, intente luego".

Conclusión:
cada vez que quieras compactar y reparar tu DB crea un archivo "desconectar.ya" o cualquier nombre... se sabe, en el mismo directorio de la aplicación....y no teolvides de chequear la tabla a ver si hay alguno logoneado....
se me ocurre otra cosa muy loca pero ya me cansé de escribir.....

espero haberte ayudado y cualquier incoveniente no dudes en enviarme un mail

un abrazo y suerte
Dante

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:Ejecutables

Publicado por Dante (40 intervenciones) el 09/07/2004 14:51:32
Una observación a tener en cuenta
cuando escribi
......podrías mostrar un mensaje que diga "El sistema se desconectará en un minuto" ..... me olvidé de mencionar que lo hagas sobre el formulario.....en el Title o en una barra de estado, y nunca con un MsgBox: ya que este esperará el ok del usuario y te detendrá la desconección.

lo otro que había pensado era que la conección con la db solo la hagas en el momento en que solicitarán datos y no desde el principio. cargas los registros en algún lado y luego te desconectas.... o sea. que no mantengas una conección continua con la db.... por lo que tu rutina de compactacion solo debería fijarse si existe un archivo .ldb en el path de la db (ya que la db es Access) si no existe, compactas, si existe.....esperas

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