Paradox en red

Solo disponible en BuenasTareas
  • Páginas : 5 (1115 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de agosto de 2010
Leer documento completo
Vista previa del texto
ste articulo intentaremos dejar claro el uso de tablas paradox en red así como alguna característica oculta o no implementada dentro de las VCL. Paradox usa un sistema de Semáforos para informar a otras aplicaciones o instancias de programas que ciertos registros están siendo usados por otro usuario, en contra de otros sistemas como el dBase que marcaba físicamente los registros que estaban enuso, Paradox crea unos ficheros en los que se registran los usuarios en uso, así como los registros bloqueados. En este articulo nos centraremos en el protocolo de bloqueos de la versión 7 y especialmente en el BDE 4.0 que acompaña a Delphi 3. Paradox crea el fichero PDOXUSRS.LCK en cada directorio donde una aplicación este accediendo a tablas, este fichero regula el acceso concurrente a las tablas,este fichero apunta y se registra en el fichero PDOXUSRS.NET que contiene la información de todos los usuarios - aplicaciones que acceden a un directorio. Tambien, para evitar el acceso a las tablas por versiones anteriores del BDE se crea un fichero exclusivo PARADOX.LCK. El BDE necesita un directorio para la creación de tablas temporales y otros usos, para ello en el llamado "DirectorioPrivado", crea sendos ficheros PDOXUSRS.LCK y PARADOX.LCK evitando que otros programas accedan a ese directorio. Protocolo de Bloqueos Paradox anota los registros bloqueados de las tablas en el fichero de bloqueos PDOXUSRS.LCK, en este fichero se controlan los accesos a diferentes tablas y por distintos usuarios, cuando un usuario intenta bloquear un registro mira en el fichero y comprueba que otrousuario no lo tenga bloqueado ya, en caso de que este libre escribe su bloqueo, impidiendo que otros lo hagan, cuando el registro es liberado, se actualiza su estado en PDOXUSRS.LCK. Cuando varios usuarios intentan leer y escribir en una misma tabla dentro de un entorno de red, todos deben realizar sus bloqueos por medio del fichero PDOXUSRS.NET que a su vez mantiene una relación con los fichero *.LCK.Un error común al realizar aplicaciones multiusuario es que las aplicaciones no apuntan al mismo fichero *.NET, creando un desconcierto en el BDE y como resultado que los bloqueos no se realizan y las actualizaciones son mas bien aleatorias. Dentro del fichero NET, también se guarda otro tipo de información, como número y nombre de usuarios conectados, y otra información menos relevante. Cuandose intenta acceder a una Tabla Paradox el BDE busca el fichero PDOXUSRS.NET, si no lo encuentra crea uno, continuando con el proceso de arranque. Si BDE encuentra un fichero NET pero esta apuntando a otro directorio, nos muestra el mensaje de "Multiple net files in use", generando una excepción impidiendo la carga del BDE. Si no hay errores crea los fichero *.LCK en el directorio privado, siencuentra ficheros, genera la excepción y no se carga el BDE. En resumen podríamos decir que el fichero NET gobierna los directorios, y los ficheros *.LCK los registros. Correcta Inicialización Para evitar errores en la inicialización de nuestra aplicaciones en RED deberemos haber comprendido el mecanismo de bloqueos de paradox y obrar en consecuencia, como este artículo se centra en el uso de Delphi 3,supondremos que nuestras instalaciones se realizan en entornos con Windows 95, o mixtos con Windows NT. En primer lugar en la maquina que usemos como servidor crearemos una estructura de este tipo: ....\Datos ....\Datos\NET \Datos será el directorio en el que crearemos las Tablas y \NET lo usaremos para albergar el fichero PDOXUSRS.NET. Una vez creados los directorios crearemos un recursocompartido de Windows en el directorio \Datos para que el resto de usuarios tengan acceso, por ejemplo , una vez hecho, nos referiremos siempre a este directorio con las normas UNC, así \Datos pasara ha ser \MiServer\MisDatos y el directorio para el fichero de control de Usuarios será \MiServer\Misdatos\Net. Si usamos ALIAS de Delphi deberemos actualizar estos datos en cada maquina, estableciendo, por...
tracking img