Ver Mensaje Individual
  #2  
Antiguo 20-11-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Reputación: 13
MartinS Va por buen camino
Hola angel:

El siguiente codigo lo pones en el evento OnCreate de un DataModule o bien donde tenes los componentes de conexion:

Código Delphi [-]
Uses IniFiles;

procedure TDM.DataModuleCreate(Sender: TObject);
Var BaseDeDatos: String;
    IniFile: TIniFile;
begin
   // Obtiene la ruta y el nombre de la base de datos
   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini');
   BasedeDatos := IniFile.ReadString('BD','Path','');
   If BasedeDatos = '' then
    ShowMessage('Error al cargar Base de Datos') else
   Begin
    Try
      BaseGeneral.DatabaseName := BaseDeDatos;
      BaseGeneral.Connected := True;
      Transaccion.Active := True;
    Except
      ShowMessage('No se puede conectar el servidor...');
    End;
   End;
end;

y esto es lo que iria dentro del archivo BDatos.Ini de las maquinas clientes y lo ubicarias en el mismo lugar del ejecutable. La IP que aparece corresponde a la maquina donde se encuentra la base de datos

Código:
[DB]
PATH="192.168.1.3:c:\Sistema\Datos\LaBase.FDB"
en tanto para el .ini donde esta la base, el ini no lleva la Ip

Código:
[DB]
PATH=":c:\Sistema\Datos\LaBase.FDB"

Fijate que la variable BaseDeDatos se carga con el valor de PATH del ini
Código Delphi [-]
BasedeDatos := IniFile.ReadString('BD','Path','');
es decir que puedes agregar mas parametros a otras variables y leerlo de la misma forma, por ejemplo
Código:
[DB]
PATH=":c:\Sistema\Datos\LaBase.FDB"
PASS="masterkey"
USER="SYSDBA"
UBICACION="Algo que se te ocurra"

Saludos.-

Pd: Supongo que la base de datos es firebird o Intebase.-
Responder Con Cita