La Web del Programador: Comunidad de Programadores
 
    Pregunta:  141 - BASE DE DATOS PORTABLES
Autor:  Ricardo
Como puedo hacer un programa para que mi Base de Datos sea portable (Alias), sin tener que declarar luego de instalar mi programa, la Base de Datos en el Data Destok
gracias

  Respuesta:  Erwin Perez
Una solucion mas elegante sin cambiar tanto de componentes de acceso a datos es que uses un componente TSession, o bien, el que se usa por default para los componentes BDE que uses en tu aplicacion, que es Session:

if not Session.IsAlias(MiAlias) then
Session.AddStandardAlias(MiAlias, Directorio, 'PARADOX');
o bien puedes poner 'DBASE' en vez de paradox si usas esa base de datos.

Luego puedes guardar si asi lo deseas el alias:

Session.SaveconfigFile;

esto hace que cada vez que ejecutes tu programa se registre el alias si no existe.

if not Session.IsAlias(MiAlias) then begin
Session.AddStandardAlias(MiAlias, Directorio, 'PARADOX');
Session.SaveConfigFile;
end;

  Respuesta:  Mauricio Jomiak
tambien puedes usar la funcion getdir que devuelve el directorio actual de una unidad, la unidad 0 (cero) es la activa por lo tanto te devolvera el path de tu ejecutable, pon tus tablas en una carpeta dentro de la del ejecutale o juntas y ya tienes el path para le dababaseneme
Supon la tabla productos.db que esta en el mismo directorio del ejecutable

//dir_prod variable tipo string;
getdir(0, dir_prod);
dir_prod:= dir_prod+'\productos.db';
tabla_prod.TableName:= dir_prod;

o en el directorio dbs dentro de la carpeta del programa

getdir(0, dir_prod);
dir_prod:= dir_prod+'\dbs\productos.db';
tabla_prod.TableName:= dir_prod;

getdir(0,variable_tipo_string) siempre te dara el directorio de instalacion del programa, con lo q puedes armar paths relativos a ella

  Respuesta:  HSL Santana
Te recomiendo que utilices los componentes ADO de delphi ya que no necesitan del bde.

Saludos...

  Respuesta:  Edgar Fernando Rodriguez
Inserta un componente Database, luego en parameters inserta esto:
PATH=C:\TU_DIRECTORIO_DE_TABLAS\
luego asignale al Database un alias cualquiera, y luego apunta todas tus tablas dentro del formulario con el nuevo alias.

  Respuesta:  Jair A. Linares
Hay varias formas de hacerlo

1. Utiliza el InstallShield, no lo tienes, viene en el CD del DELPHI, el te genera un instalador y crea el Alias automaticamente.

2. Otra, es que en tu aplicacion, preguntes por el path donde se deben leer las Tablas la primera vez que lo ejecuten o un sitio para configurar, y ese valor lo guardes en el registry de windows, .INI o donde desees y lo tomes de alli, en el momento de abrir las Tablas.

Nota : Recuerda que debes copiar el DBE (Data base engine) porque si no no te funciona.


  Respuesta:  Roberto
La solución más fácil es la de usar InstallShield pero si quieres puede crear ALIAS en tiempo de ejecución con las ordenes AddAlias o AddStandardAlias ( mira la ayuda porque no recuerdo los parámetros ).
Tendrás que pasarle un directorio y como normalmente la base de datos estará en el directorio de tu aplicación o en un subdirectorio, puedes usar el comando ExtractFilePath(Application.EXEName) para tener el directorio de ejecución.

  Respuesta:  Daniel del Castillo
Te recomiendo que crees un archivo con extensión INI en donde pondrás toda la información que necesitará tu programa, si quieres un ejemplo completo te recomiendo que me mandes un mail con el detalle de tu problema y con gusto te daré una respuesta mucho más clara.