PDA

Ver la Versión Completa : Paradox En Red Y Bde


NEOALEX00016
21-03-2007, 04:22:19
Tengo Una Aplicacion Hecha Total Mente En Paradox Y Por Supuesto Con Bde

Lo Que Quiero Es Ponerla En Red De 3 Computadoras No Se Como Hacerlo Y Los Datos Que Almacenara Son 30,000 Registro Al Año

Quisiera Que Me Ayuden Y Me Diga Como Ponerlo En Red De Esta Tres Pc Creo Que Tengo Que Intarlar La Bde En Todas La Pc Y Indicarle Que Las Tablas Estan En La Carpeta Compartida Digamen Si Estoy En Lo Correcto

Lepe
21-03-2007, 12:34:22
busca en el foro por NETFILEDIR, es la clave de paradox en red, y obtendrás muy buenos resultados.

Este hilo (http://www.clubdelphi.com/foros/showthread.php?t=24235&highlight=netfiledir), tiene bastantes cosas.

Saludos

poliburro
21-03-2007, 19:03:52
para que complicarse la vida con el BDE pudiendo usar ADO??????

Amigo con ado no tendrías que complicarte tanto. :) te recomiendo evalues esta opción en el futuro

NEOALEX00016
21-03-2007, 22:12:48
Lo Que Quiero Saber Como Es Que Uno Congifura El Bde Paso A Paso No Se Como Configurar El Netdir De Forma Que Se Conecte En Red Gracias

egostar
22-03-2007, 02:21:13
Aunque ya Lepe te ha dicho como hacerlo, lee este artículo (http://www.terra.es/personal/alksoft/delphi/articulo/paradox.htm) si te ha quedado alguna duda.

Aunque pensandolo bien, la duda la tengo YO,

Como Es Que Escribes Siempre Con La Primera Letra En Mayúscula.

Esto me costo trabajo escribirlo, no entiendo como le hacen, que flojera me da, será una moda:confused:. No eres el primero que leo en este foro con ese estilo:eek:.

Salud OS.

roman
22-03-2007, 02:40:50
¡Ah! Veo que has encontrado el famosísimo artículo. Yo lo recuperé hace algún tiempo de la Wayback Machine (http://www.archive.org/web/web.php) porque no sabía dónde estaba. Lo he traído de vuelta a casa (http://www.terawiki.clubdelphi.com/) en formato pdf :)

// Saludos

NEOALEX00016
22-03-2007, 06:39:26
LO QUE NO ENTIENDO ES COMO CAMBIAR LA DIRRECION DEL NetFileDir DE LAS MAQUINAS CLIENTES TENGO QUE ABRIR DELPHI Y HACER QUE O QUE

YO USO UN ALIAS Y PROBE EL EJEMPLO DE LA CARA OCULTA Y AMI ME FUNSIONA BIEN QUIZAS POR QUE NUNCA UTILIZO DBEDIT DIRECTAMENTE SI NO QUE UTILIZO UN EDIT Y EL EL BOTON GRABAR LE INDICO AQUE ES IGUAL LOS DATOS DE ESE EDIT DIGANME SI ESTO TIENE QUE VER LO UNICO QUE UTILIZO SON DBGRID Y ES PARA VISUALIZAR DATOS OSEA QUE NO CREO QUE TENGA PROBLEMA

EXPLIQUEME POR FAVOR ESTO Y COMO CONECTARLA A UN RED DE 3 COMPUTADORAS GRACIAS

egostar
22-03-2007, 07:14:41
Haber, vamos a tratar de ayudarte un poco mas.

Primero que nada, necesitas agregar a tu programa un DataModule <File> <New> <DataModule> donde debes de colocar tus tablas y sus DataSource.

Despues agregas un componente TSession y un TDataBase.

En el evento OnCreate del DataModule asignas los valores siguientes:


DataModule1.OnCreate;
Begin
With MiSesion do begin
NetFileDir := '\\MiServer\MisDatos\NET';
PrivateDir := 'c:\Temp';
End;
With MiDataBase do begin
Params.Clear;
Params.Add('PATH='+'\\MiServer\MisDatos');
Params.Add('DEFAULT DRIVER=PARADOX');
Params.Add('ENABLE BCD=FALSE');
Connected := true;
End;
End;

Debes de asegurarte de tener la estructura de directorios bien definida, por ejemplo


....\Datos
....\Datos\NET


Ah y todas tus tablas deberan hacer referencia al TSession y al TDataBase.

Intentalo y nos comentas como vas.

Salud OS.

NEOALEX00016
22-03-2007, 18:48:30
otra pregunta tengo ya todas las tablas en su formulario correspondiente y no uso datasource entonce debo eliminar todas las tablas de los formulario y ponerla ahi y despues hacer referencia al datamodule y esto lo tengo que hacer tambien para el servidor por que todavio no tengo las pc conentada como funcionaria en la mi gracias

Lepe
22-03-2007, 20:47:13
Realmente paradox en red es comparable a tener una carpeta compartida, donde el programa (en cada ordenador que actua como cliente) va a pillar la información de esa carpeta compartida. Tan simple como eso.

Si el ordenador donde estará la BBDD (que actua de servidor) también tendrá el programa tuyo funcionando, entonces deberás configurar el "Local Share"... pero eso es otra historia.

No es obligatorio que tengas un Datamodule con todas las tablas dentro, aunque si es aconsejable.

Tal y como lo tienes planteado, haz lo siguiente:
- Crea un Datamodule, allí pones el TSession y el TDatabase.
- Crea un archivo .ini donde se guarde como mínimo:
- NetFileDir = '\\MiServer\MisDatos\NET';
- PrivateDir = 'c:\Temp';
- DatabaseDir = '\\MiServer\MisDatos
- Alias = 'MiAlias'

Cuando se crea el Datamodule (evento OnCreate, por supuesto), lees del archivo .ini esas 3 variables y las asignas al TSession y al TDatabase, tal y como ha dicho egostar.

Además, deberías crear por código el alias, así no tendrás que usar el bde Administrator para crearlo después de instalar tu programa:

Datamodule.OnCreate:

var ElAlias, DatabaseDir:string // leídos desde el .ini
With MiSession do
begin
if not IsAlias(ElAlias) then
begin
AddStandardAlias(ElAlias, DatabaseDir);
SaveConfig; // guardar la configuración a disco para la proxima vez que se ejecute.
end;
end;


Cuando creas una ventana, a cada TTable/TQuery que tengas, deberás asignarle en tiempo de ejecución:
- el TDadabase que tienes en el Datamodule,
- el alias que estes usando

Esto es así, porque ahora, mientras diseñas tu aplicación la Base de datos la tendrás en una ruta determinada, cuando la instales en otro ordenador, la ruta puede cambiar, y entonces dejará de funcionar todas las tablas que apunten al alias usado en diseño.

De la forma que te indico, solo tienes que cambiar el archivo .ini.

Saludos

roman
22-03-2007, 21:07:38
Cuando creas una ventana, a cada TTable/TQuery que tengas, deberás asignarle en tiempo de ejecución:
- el TDadabase que tienes en el Datamodule,
- el alias que estes usando


Esto no es necesario. En tiempo de diseño, se enlazan todas la componentes TQuery y TTable a las componentes TDatabase y TSesion y durante la ejecución sólo hay que cambiar el alias en TDatabase.

// Saludos

Lepe
23-03-2007, 00:29:19
Gracias por la puntualización... hace tiempo que no uso Paradox :o

Saludos

NEOALEX00016
27-03-2007, 21:31:41
gracias amigo ya eh hecho todo esto pero el database me da el siguiente error y no se me conecta simultaneamente en las don computadoras
el error es el siquiente que aparece cuando abro el programa

database1:cannot perform this operation on an open database
gracias por su respuesta

egostar
27-03-2007, 21:37:27
Seguramente tienes abierta la database en tiempo de diseño.

Salud OS.

NEOALEX00016
28-03-2007, 02:38:39
miren lo que hice en un data module coji y puse un database y un tsession le puse las indicacion corespondiente le puse donde estaba el netdir y ley todo

en el tsession la active le puse la indicacion que le pusiera el nombre automatica mente me pone en el nombre session1_1 entonce a todas las tablas que tengo en la aplicacion la combino con el database en ves del alias y luego en el la session le pongo la session1_1 pero a hora me aparece que el nombre de la session es invalido


lo que quiero por favor es que me digan como configurar el database y el tsession y cada tabla de mi aplicacion para que me funcione en red
y si tengo que activarl el database y el tsession en diseño y si tengo que desctivar las tablas en tiempo de diseño

o si hay un paso mas rapido gracios para configurar las tablas y

gracias por su ayuda

NEOALEX00016
28-03-2007, 02:42:01
y aparte de eso hice esto

DataModule1.OnCreate;
Begin
With MiSesion do begin
NetFileDir := '\\MiServer\MisDatos\NET';
PrivateDir := 'c:\Temp';
End;
With MiDataBase do begin
Params.Clear;
Params.Add('PATH='+'\\MiServer\MisDatos');
Params.Add('DEFAULT DRIVER=PARADOX');
Params.Add('ENABLE BCD=FALSE');
Connected := true;
End;
End;

gracias por su ayuda