![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
#1
|
|||
|
|||
Páradox En Red
Hola!
Estoy desarrollando una aplicación que contiene una base de datos en páradox, a la cual deberán accesar más de una pc conectadas en red, la base está en una de ellas, pero cuando un segundo usuario desea accesar a dicha base el bde manda un error ".lck", supongo el el primer usuario tiene bloquedo el directorio donde se encuentra la bd, si alguien de uds sabe a que se debe y como puedo hacer que la accesen n usuarios a la bd, se lo agradeceré.
__________________
Alberto C. |
#2
|
||||
|
||||
Cita:
Crear un componente TDatabase y un TSession Luego tienes que direccionar, indicarle a tu sistema donde va a leer el PDOXUSRS.NET Ejemplo. Session.NetFileDir := c:\ Session.PrivateDirr := c:\Temp Ojo, Todas las aplicaciones deben apuntar a este archivo, al decir aplicaciones me refiero a un mismo programa y no a todos los programas que puedas hacer, osea si tienes un sistema llamado qwerty y lo instalas en tres pc's el sistema qwerty debe apuntar a un solo \qwerty\net\PDOXUSRS.NET al del servidor, pero el qwerty\PrivateDir\Temp es unico para cada sistema no debes compartirlo con ningun otro sistema sino te dara error. Tienes que reforzar tus tablas creando rutinas de eliminacion y creacion de indices, esto es necesario cuando se te corrompan los indices y se malogren los borras y los rehaces. Para que tu sistema funcione en red: Asignas al componente Database y Session asi. Supongamos que tu PC es el servidor y se llama Juan Database.Params[0].Path := \\Juan\qwerty Session.NetFileDir := \\Juan\qwerty\net Session.PrivateDir := \\Juan\qwerty\Temp Donde Juan es el nombre de tu pc Ahora si quieres leer las tablas de otra PC por ejemplo la pc de alberto tienes que poner es: Database.Params[0].Path := \\Alberto\\qwerty Session.NetFileDir := \\Alberto\qwerty\net Session.PrivateDir := \\Juan\qwerty\Temp Ojo no debes redireccionar el PrivateDir ese dejalo donde se ejecuta tu sistema \\Juan\qwerty\Temp Ahora porque se escribe dse esta manera \\Juan Porque segun las convenciones de red asi estan establecidas. Mira tu Pc se llama Juan Y lo creaste en c:\Delphi\Proyectos\qwerty Presionas el boton derecho del mouse y compartes la carpeta qwerty y marcas las dos casillas, ahora solo tendras que poner el nombre de tu PC y la carpeta compartida osea asi: \\Juan\qwerty es una forma abreviada que funciona de acuerdo a las convenciones de red. Cuando instales tu sistema en otra Pc, tienes que tener ya creado un modulo donde tu le indiques al sistema de donde va a leer las tablas por ejemplo: Instalas el sistema qwerty en la PC Juan - servidor Instalas el sistema qwerty en la PC Alberto - cliente Instalas el sistema qwerty en la PC Pedro - cliente En la pc numero 0001 servidor lo dejas como esta. en las dos siguientes direccionas solo el Session.NetFileDir que apunten a la pc de Juan oseas asi: PC Juan Database.Params[0].Path := \\Juan\qwerty Session.NetFileDir := \\Juan\qwerty\net Session.PrivateDir := \\Juan\qwerty\Temp PC Alberto Database.Params[0].Path := \\Juan\qwerty Session.NetFileDir := \\Juan\qwerty\net Session.PrivateDir := \\Alberto\qwerty\Temp PC Pedro Database.Params[0].Path := \\Juan\qwerty Session.NetFileDir := \\Juan\qwerty\net Session.PrivateDir := \\Pedro\qwerty\Temp Tambien tienes que crear rutinas de borrado de archivos *.LCK cuando algun usuario resete la pc, el borrado se realiza en el PRivateDir de cada PC. Saludos. |
#3
|
||||
|
||||
Cita:
Crear un componente TDatabase y un TSession Luego tienes que direccionar, indicarle a tu sistema donde va a leer el PDOXUSRS.NET Ejemplo. Session.NetFileDir := c:\ Session.PrivateDirr := c:\Temp Pero tienes que direccionar de acuerdo a las convenciones de RED Session.NetFileDir := \\Juan\qwerty\Net Session.PrivateDirr := \\Juan\qwerty\Temp Ojo, Todas las aplicaciones deben apuntar a este archivo, al decir aplicaciones me refiero a un mismo programa y no a todos los programas que puedas hacer, osea si tienes un sistema llamado qwerty y lo instalas en tres pc's el sistema qwerty debe apuntar a un solo \qwerty\net\PDOXUSRS.NET al del servidor, pero el qwerty\PrivateDir\Temp es unico para cada sistema no debes compartirlo con ningun otro sistema sino te dara error. Tienes que reforzar tus tablas creando rutinas de eliminacion y creacion de indices, esto es necesario cuando se te corrompan los indices y se malogren los borras y los rehaces. Para que tu sistema funcione en red: Asignas al componente Database y Session asi. Supongamos que tu PC es el servidor y se llama Juan Database.Params[0].Path := \\Juan\qwerty Session.NetFileDir := \\Juan\qwerty\net Session.PrivateDir := \\Juan\qwerty\Temp Donde \\Juan es el nombre de tu PC Ahora si quieres leer las tablas de otra PC por ejemplo la pc de alberto tienes que poner es: Database.Params[0].Path := \\Alberto\qwerty Session.NetFileDir := \\Alberto\qwerty\Net Session.PrivateDir := \\Juan\qwerty\Temp Ojo no debes redireccionar el PrivateDir ese dejalo donde se ejecuta tu sistema \\Juan\qwerty\Temp Ahora porque se escribe de esta manera \\Juan\qwerty Porque segun las convenciones de red asi estan establecidas. Mira tu Pc se llama Juan Y lo creaste en c:\Delphi\Proyectos\qwerty Presionas el boton derecho del mouse y compartes la carpeta qwerty y marcas las dos casillas, ahora solo tendras que poner el nombre de tu PC y la carpeta compartida osea asi: \\Juan\qwerty es una forma abreviada que funciona de acuerdo a las convenciones de red. Cuando instales tu sistema en otra Pc, tienes que tener ya creado un modulo donde tu le indiques al sistema de donde va a leer las tablas por ejemplo: Instalas el sistema qwerty en la PC Juan - servidor Instalas el sistema qwerty en la PC Alberto - cliente Instalas el sistema qwerty en la PC Pedro - cliente En la pc Juan el servidor lo dejas como esta. en las dos siguientes direccionas solo el Session.NetFileDir que apunten a la pc de Juan oseas asi: PC Juan [b]Database.Params[0].Path := \\Juan\qwerty [b]Session.NetFileDir := \\Juan\qwerty\net [b]Session.PrivateDir := \\Juan\qwerty\Temp PC Alberto Database.Params[0].Path := \\Juan\qwerty Session.NetFileDir := \\Juan\qwerty\net Session.PrivateDir := \\Alberto\qwerty\Temp PC Pedro Database.Params[0].Path := \\Juan\qwerty Session.NetFileDir := \\Juan\qwerty\net Session.PrivateDir := \\Pedro\qwerty\Temp Tambien tienes que crear rutinas de borrado de archivos *.LCK cuando algun usuario resetee la pc, el borrado se realiza en el PrivateDir de cada PC. y Tambien tienes que crearte rutinas de actualizacion de registros, si en la pc de Alberto se ingreso o modifico un nuevo registro este debe reflejarse en forma inmediata en el servidor. usa (CallBacks). Conclusion: Tres sistemas iguales puede apuntar a un mismo PDOXUSRS.NET Mas no el PrivateDir es unico para cada Sistema. Saludos. Última edición por RebeccaGL fecha: 24-09-2008 a las 16:02:18. |
#4
|
||||
|
||||
hola
hola como estan, mi problema esta en k no se k cual es la funcion de el archivo PDOXUSRS.net, y no se donde debo de entrar este supuesto archivo, y no se si ese archivo es hay que compartirlo para todo los usuarios o solo para la server
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho |
#5
|
|||
|
|||
Jeremix
El archivo pdoxuser.net no se comparte, se comparte el directorio donde se crea, paradox realiza la creacion del mismo en forma automatica cuando ingresas a la aplicacion, solo debe existir uno en la red donde trabajes con la aplicacion, regularmente se crea en el equipo donde esta el servidor de datos en este texto encontraras como lo debes hacer : Cita:
|
#6
|
||||
|
||||
PDOXUSRS.NET
Gobierna los directorios y los .LCK gobiernan los bloqueos |
#7
|
||||
|
||||
gracias
muchas gracias por su aclaracion.
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho |
![]() |
|
|
![]() |
|