PDA

Ver la Versión Completa : Conexión desde fichero de configuración


rafita
10-10-2003, 14:28:15
Hola, muy buenas a todos/as.

Utilizo Delphi 7 e InterBase 6 con acceso a través de los componentes de la pestaña BDE.

En mi aplicación defino la ubicación de la base de datos utilizando el Database Editor, le pongo la propiedad “SERVER NAME=192.168.0.6:f:\Registro General\Registro.gdb”, con lo cual en los clientes tengo que configurar el alias de la base de datos, pero no necesito indicar su ubicación.

Ahora intento dar un paso más allá y configurar la ubicación de la base de datos utilizando un fichero Set.up (similar a un INI, pero de tipo texto), el cual leo al crear el formulario principal de la aplicación para recoger todas la variables.

El problema que tengo es que no sé a que propiedad del componente DataBase le tengo que asignar la ubicación de la base de datos. ¿¿¿???

Buscando en el foro he encontrado un par de hilos donde hacen algo similar utilizando las propiedades DataBaseName del citado componente, pero a mí no me funciona, también he intentado pasarlo como un parámetro pero ocurre lo mismo.

Aprovecho para plantear otra cuestión:
Una de las propiedades que cambio en el componente DataBase es “ENABLE BCD=TRUE”, pero en la configuración del BDE no lo modifico porque supongo que las propiedades que le asigno al componente se superponen a las generales del BDE. ¿Es esto así?

Gracias anticipadas por vuestra colaboración, y buen fin de semana (si algún desgraciado no nos lo fastidia).

rafita
13-10-2003, 10:35:47
Nada más poner este hilo solucioné el problema: mi servidor estaba bloqueado y por eso me daba error.

Pongo el código por si a alguien le interesa:
{ Cargar parámetros iniciales desde el fichero de Set Up }
UbicacionAplicacion:=ExtractFilePath(Application.ExeName);
AssignFile(fich_setup,UbicacionAplicacion+'\REGI-SET.UP');
{$I-} Reset(fich_setup); {$I+}
if IOResult<>0 then
begin
ShowMessage('No encuentro el archivo de configuración inicial: REGI-SET.UP, el cual'+#13+
'debe estar situado en la carpeta donde está ubicada esta aplicación:'+#13+
UbicacionAplicacion+#13+#13+
'Sin este archivo no es posible abrir esta aplicación.'+#13+
'Pulsa INTRO para cerrarla y solucionar el problema.');
FRMenu.Close;
end
else
begin
readln(fich_setup,cadena); LiteralEmpresa:=cadena;
readln(fich_setup,cadena); LiteralTipoReg:=cadena;
readln(fich_setup,cadena); NombreEscudoPantalla:=cadena;
readln(fich_setup,cadena); NombreEscudoImpresora:=cadena;
readln(fich_setup,cadena); UbicacionBaseDatos:=cadena;
CloseFile(fich_setup);
end;

FRMenu.Image1.Picture.LoadFromFile(UbicacionAplicacion+'\'+NombreEscudoPantalla);
FRMenu.Label1.Caption:=LiteralEmpresa;
FRMenu.Label2.Caption:=LiteralTipoReg;

FRMenu.DataBase1.Directory:=UbicacionBaseDatos; { esto era lo que buscaba }
FRMenu.DataBase1.DataBaseName:='Registro';
FRMenu.DataBase1.Connected:=true;


Gracias a todos, y un saludo. ;)