La Web del Programador: Comunidad de Programadores
 
    Pregunta:  568 - PARADOX EN RED CON DELPHI
Autor:  GCC
¿Cual es la forma correcta de tratar ficheros PARADOX en red con Delphi?. Es decir, ¿que componentes son necesarios aparte del TDataBase y el TTable para poder compartir archivos PARADOX en una red mediante Delphi, y cual seria la forma correcta de iniciarlos y usarlos? Por lo que he podido experimentar, tengo bastantes problemas al intentar compartir un mismo fichero PARADOX desde distintos terminales, ya que los indices se vuelven locos al hacerlo.Gracias.

  Respuesta:  ing. Ruben Carballo Macklis
*primero si es una red Peer-to-Peer:

No necesitas el TDatabase y Tsession
solo configura en BDE en Drivers-PARADOX-NetDir a el directorio que elijas

esto para todas las maquinas, esto evitara que se vuelvan locos los indices y actualice la informacion
ademas te sujiero que utilices el TTable.FlushBuffers despues de un post

*si es C/S te sujiero que utilices el Interbase porque PARADOX falla mucho y las Tablas fisicas en disco e indices se dañan mucho

y si utilizas Delphi 4 actualiza a Delphi 5

  Respuesta:  Israelsen Ferreras
Una formula, que a nosotros nos ha resultado es la siguiente:
1.- ir al BDE Administrator
2.-Opcion de configuración
3.- Ir a Drivers
4.- ir a Native
5.- ir a PARADOX
6.-en la configuración de PARADOX en Net Dir poner el driver de RED.

Espero que te funcione,

hasta luego


  Respuesta:  José Oronas
Otra manera, además de la citada en la respuesta anterior, es realizarlo desde dentro de la aplicación.
Usando el componente tSession, del cual puedes crear una variable o usar la que Delphi crea automáticamente y llama "Session".
De esta debes valuar las propiedades :
NetFileDir y PrivateDir.
La primera es el directorio donde paradox creará el Archivos PdoxUsrs.Net y debe apuntar a un lugar "visible" del Servidor (y todos los clientes al mismo sitio) en formato \\Servidor\RecursoCompartido\..... no en formato C:\xx\..... de esta última manera no se realizarán los bloqueos de registros y la actualización de tus archivos será impredecible.
PrivateDir es en cambio el directorio donde el BDE escribirá sus archivos temporales y es conveniente que se encuentre en una unidad local Ej.
C:\Windows\Temp.
Además El BDE creará en cada directorio donde se encuentren tablas a las que se accede desde la sesión los archivos Paradox.lck y PdoxUsrs.lck.
Para finalizar, desde el Inspector debes asignar a la propiedad SessionName de los Componentes tipo TTable, TQuery o similares, la variable de tipo TSession que uses (la que Delphi crea automáticamente se listará como Default).

Por ejemplo :

procedure TDlgMain.FormCreate(Sender: TObject);
Var
Bufer : pChar ;
begin
GetMem(Bufer,255)
Try
Session.NetFileDir := ´\\MiServer\C\MiPrg\MisDatos\Net´;
GetTempPath(255,Bufer);
Session.PrivateDir := StrPas(Bufer);
Finally
FreeMem(Bufer,255);
.
.
End ;
Mis saludos, espero que sea útil y mis disculpas por si se me desliza algún error ya que estoy redactando este email sin Delphi a mano....

  Respuesta:  Remberto Gonzales C.
Por la largada de la respuesta, esta en el archivo resp568.txt