PDA

Ver la Versión Completa : Delphi paradox temporales mb


rogercb
12-02-2008, 16:33:28
Tengo un programa en delphi que genera los temporales delXXX.mb ja que utilizo cachedupdates, los clientes se conectan al programa a traves de sesiones de citrix o terminal server, me genera esos archivos temporales en la carpeta del programa y eso hace que cuando una session se cierra de repente quedan estos temporales en el directorio y cuando vuelvo a entrar me sale error e inhabilita a todos los usuarios. Tengo que quitar a todos los usuarios y borrar los .db para que vuelva a funcionar.

Gracias.

Lepe
12-02-2008, 17:11:15
ajá, pues muchas gracias por la afirmación y el comentario :D :D.

Bromas aparte, ¿qué problema tienes?, al entrar en el programa, intenta borrar esos archivos y listo.

Si algun usuario lo está usando, windows no los borrará y no dará error por pantalla (con deleteFile).

Si es el primer usuario en entrar, borrará los archivos y empezará de cero.

Saludos y Bienvenido al foro ;). Te sugiero una lectura a la guia de estilo (http://www.clubdelphi.com/foros/guiaestilo.php), te ayudará a plantear tus preguntas de forma clara y concisa.

rogercb
12-02-2008, 18:03:01
El problema esta en que los puedo borrrar des de codigo, ja que otros usuarios estan conectados y utilizando estos .mb, no se cuales son los que genera cada session particularmente, para borrarlos la unica forma es que se salga todo el mundo del programa y entonces me los deja borrar todos pero eso no es muy eficiente que digamos para empresas que tengan que parar todos por este problema. Entonces me gustaria saber si hay alguna forma de que cada usuario que se conecte al programa se genere una carpeta con sus .mb temporales de paradox.

Gracias por la respuesta.

eduarcol
12-02-2008, 18:35:39
Revisa el manual de paradox en red (http://www.clubdelphi.com/trucos/index.php?id=105&scroll=0&scrollb=0) por Valentín Sanchez, es todo lo que necesitas saber para configurar las conexiones.

rogercb
13-02-2008, 10:05:21
Me he fijado que cuando este archivo "PDOXUSRS.LCK" passa los 65664 o por alli es cuando me peta el programa, hay alguna forma para q no se incremente tanto.

Gracias

Lepe
13-02-2008, 10:16:06
¿has fijado el session.privatedir? porque se supone que es para eso.

Saludos

rogercb
13-02-2008, 10:20:01
donde esta eso?

Lepe
13-02-2008, 10:50:11
No has leído el enlace de eduarcol, te pillé ;).

Saludos

rogercb
13-02-2008, 10:55:12
Quieres decir que con este codigo no se me incrementara tanto el PDOXUSRS.LCK


With MiSesion do begin
PrivateDir := 'c:\Temp';
End;


Gracias

rogercb
13-02-2008, 12:08:43
Porque si utilizo para conectarme al programa sesiones citrix o terminal server, el privatedir me lo seguira creando en el servidor, aunque le ponga C:\temp, no?

Lepe
13-02-2008, 13:54:24
¿qué tiene que ver ese .lck con el Private Dir?

Las prisas no tienen código fuente.

¿quieres 2 líneas de código que te solucionen el problema? Pues no lo hay, tienes que entender el funcionamiento, la implementación que tienes hecha, y después buscar la solución.

Edito: Quizás esto te sirva (http://www.clubdelphi.com/foros/showpost.php?p=84555&postcount=3), no lo sé.

Saludos

eduarcol
13-02-2008, 13:58:38
¿qué tiene que ver ese .lck con el Private Dir?

Las prisas no tienen código fuente.

¿quieres 2 líneas de código que te solucionen el problema? Pues no lo hay, tienes que entender el funcionamiento, la implementación que tienes hecha, y después buscar la solución.

Saludos

Eso mismo, y todo comienza con entender los bloqueos de paradox, para eso te pase el articulo, luego tendrias que investigar si esos terminales donde graban los datos de la sesion, o si hay alguna forma de que los haga en la maquina local, eso si compartiendo los archivos de sesion necesarios para utilizar paradox en red. "PDOXUSRS.NET"

Asi que investiga bajo los parametros que se te han dado y cualquier duda nos comentas tus avances. Recuerda que no todos han probado tu configuracion de acceso por lo mismo no todos vamos a saber como solucionarlo.

rogercb
13-02-2008, 15:43:47
Si ja he consultado toda la información que me habeis facilitado, lo que no entiendo es que tengo ese misma programa configurado en un sitio con mas de 70 usuarios conectandose por sesiones de citrix y funciona perfectamente, pero en este sitio con menos usuarios el fichero "PDOXUSRS.LCK" se incrementa hasta 65555, y al intentar acceder al programa me da ese error:

Violation Acess
File 'C:\...\delxxxx.mb'
file or folder no exists
File 'C:\...\delxxxx.mb'

Si alguien le ha pasado lo mismo y me pudiera informar como lo ha solucionado, gracias.

rogercb
14-02-2008, 13:03:25
Ja he solucionado el problema, por fin, era un tema que me dejaba tablas abiertas con cachedupdates y por alguna razon con estas abiertas cuando trabajas con el programa multiplicaba el tamaño de este fichero hasta llegar a su limite.

Lepe
14-02-2008, 14:50:18
al dejar tablas abiertas, son distintos usuarios, (hasta llegar a los 300 usuarios máximo de paradox)

¿ves como no era una línea de código? era tema de pensar ;)

Me alegro de que lo arreglaras y gracias por compartir la solución.

Saludos