PDA

Ver la Versión Completa : Paradox - Alias - DataBase


Minio
22-11-2007, 19:30:36
Buenas tardes, la verdad que no se ni por donde empezar voy loco. Bueno mi problema es que empecé mi aplicación usando tablas planas Paradox, conectándo las tablas con un DataModule donde tengo los DataSources correspondientes, los TTables, TQuerys, etc...Ahora se me ha ocurrido introducir un elemento TDatabase para poder trabajar con el alias de mi aplicación, y este es el problema. Con el Database Desktop que trae delphi he creado todas las tablas y un alias global para utilizarlo desde cualquier aplicación, pero lo que yo necesito ahora es poder cambiar el PATH del alias a mi antojo, para asi gestionar multi-empresa y cambiar de directorio y de base de datos.
Bueno lo que he hecho de momento es poner un TDataBase en mi módulo de datos:
AliasName:
Connected: True
DatabaseName: EJEMPLO (alias local)
Exclusive: False
HandleShared: False
KeepConnection: True
LoginPromt: True
Name: DDatos
Params: PATH=C:\GESTION\DATOS\
ReadOnly: False
SessionName: Default
Tag: 0
Translsolation:tiReadCommitled

Bueno esta es la configuración. El alias lo cambio cuando selecciona una nueva empresa y busco en la tabla de empresas en un campo la dirección del alias y lo modifico de la siguiente manera:


DMGestion.DBucleGes.Connected := False;
DMGestion.DBucleGes.KeepConnection := False;

DMGestion.DBucleGes.Params.Values['PATH'] := 'C:\GESTION\DATOS\2007\';

DMGestion.DBucleGes.Connected := True;
DMGestion.DBucleGes.KeepConnection := True;


El error es que me dice que no encuentra las tablas aun antes de cambiar el PATH del alias y las tablas existen en la ruta que le digo en el Database y la ruta existe que marco en el alias local.

Bueno esto estodo espero no marear mucho y que este bien explicado, muchas gracias.

egostar
22-11-2007, 19:50:56
Hola Minio, yo uso esto para conectar mi base de datos.


with Database1 do begin
with Session1 do begin
NetFileDir := rutaNet;
PrivateDir := rutaPrivate;
End;
Params.Clear;
Params.Add('LOCAL SHARE=FALSE');
Params.Add('PATH=' + RUTA);
Params.Add('DEFAULT DRIVER=PARADOX');
Params.Add('ENABLE SCHEMA CACHE=TRUE');
Params.Add('ENABLE BCD=FALSE');
Connected := true;
end;


Espero te sirva.

Salud OS

arlizcano
22-11-2007, 20:14:06
Hola Minio:

En tiempo de diseño revisa que la propiedad DriverName en tiempo de diseño esté en STANDARD, y en tiempo de ejecución, además de cambiar el PATH, deberías especificar, como ya te mencionó egostar


Params.Add('DEFAULT DRIVER=PARADOX');
Params.Add('ENABLE BCD=FALSE');



A mi me funciona así...ah...el alias no necesitas tocarlo, solo el DatabaseName.

Salu2.

Minio
22-11-2007, 20:38:58
Perfecto hasta el momento muxas gracias tios, y ahora otra preguntita mas si no es molestia.
¿Como podría copiar todas las tablas que tengo creadas de paradox en una nueva ruta que creo cuando grabo una nueva empresa y es donde apunta el path del alias?