PDA

Ver la Versión Completa : cambiar el gdb en red con tcp ip en ejecucion


rmnart
30-07-2003, 23:47:08
como cambiar el gdb en red con tcp ip en tiempo de ejecucion, quisiera que el usuario pueda cambiar la base de datos? ...utilizo interbase 6 y componentes ibdataset, ibdatabase.

Se que la ruta seria algo como esto:
190.190.0.220:c:\proyecto\bd\datos.gdb
pero como podria hacer esto sin necesidad que el usuario lo escriba.

guillotmarc
31-07-2003, 11:12:48
Hola.

Pón un código de este estilo en el evento BeforeConnect del IBDataBase :


procedure TForm1.IBDatabase1BeforeConnect(Sender: TObject);
begin
(Sender As TIBDatabase).DatabaseName := '190.190.0.220:c:\proyecto\bd\datos.gdb';
end;


Normalmente lo que hago es guardar la cadena de conexión en un archivo .ini. De forma que para especificar la ruta solo hay que configurarlo en el archivo. De esta forma el evento queda (lee la ruta en la Clave BaseDeDatos del archivo Config.ini que está en la misma carpeta que la aplicación) :


procedure TForm1.IBDatabase1BeforeConnect(Sender: TObject);
var Config: TStringList;
begin
Config := TSTringList.Create;
Config.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Config.ini');
(Sender As TIBDatabase).DatabaseName := Config.Values['BaseDeDatos'];
Config.Free;
end;


Saludos.