Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-05-2003
ingacg ingacg is offline
Miembro
 
Registrado: may 2003
Ubicación: México D.F.
Posts: 36
Poder: 0
ingacg Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 24-09-2008
Avatar de RebeccaGL
RebeccaGL RebeccaGL is offline
Miembro
 
Registrado: ene 2008
Posts: 199
Poder: 18
RebeccaGL Va por buen camino
Cita:
Empezado por ingacg Ver Mensaje
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é.
Lo que tienes que haces:

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.
Responder Con Cita
  #3  
Antiguo 24-09-2008
Avatar de RebeccaGL
RebeccaGL RebeccaGL is offline
Miembro
 
Registrado: ene 2008
Posts: 199
Poder: 18
RebeccaGL Va por buen camino
Cita:
Empezado por ingacg Ver Mensaje
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é.
Lo que tienes que haces:

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.
Responder Con Cita
  #4  
Antiguo 27-09-2008
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 17
jeremiselxi Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 29-09-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 18
hecospina Va por buen camino
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:
Debes compartir en un equipo una carpeta donde alojaras el archivo pdoxusers.net
por ejemplo "red"

Para trabajar en red las tablas paradox debes configurar el bdeadministrator en forma adecuada
Vas a encontrar una pestaña que dice configuration, dentro de ella una opcion que dice Drivers y dentro de drivers Native, dentro de esta encontraras Paradox, esto es lo que queremos configurar

En el panel derecho encontraras NET DIR "direccion de red"
en este campo debes digitar la direccion de la carpeta creada, debes tener en cuenta que en el equipo donde esta creada la carpeta compartida la direccion debe ser igual al del resto de la red

Te doy un ejemplo con un equipo llamado servidor

\\servidor\red
tambien puedes digitar la ip del servidor
\\192.168.0.23\red

servidor nombre del equipo donde compartiste la carpeta red
este equipo siempre debe estar encendido indiferentemente que sea el servidor de la red o no

Algo mas dentro de Configuration encontraras tambien "System" dentro de el "INIT" en el panel derecho encontraras LOCAL SHARE para la maquina donde tienes la base de datos paradox debe estar en TRUE para los demas equipos nodos que accesan a dicha base de datos debe estar en FALSE
Responder Con Cita
  #6  
Antiguo 16-10-2008
Avatar de RebeccaGL
RebeccaGL RebeccaGL is offline
Miembro
 
Registrado: ene 2008
Posts: 199
Poder: 18
RebeccaGL Va por buen camino
PDOXUSRS.NET
Gobierna los directorios

y los .LCK gobiernan los bloqueos
Responder Con Cita
  #7  
Antiguo 17-10-2008
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 17
jeremiselxi Va por buen camino
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:56:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi