Ver Mensaje Individual
  #5  
Antiguo 16-06-2015
to_to to_to is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 39
Reputación: 0
to_to Va por buen camino
Antes que nada gracias por tomarse el tiempo... tienen razón.., lo que pasa que se enfrasca uno en el problema y de momento no pensé en poner más detalles.., mira la conexión la estoy haciendo desde el cliente. En el servidor solo está la base montada. Van los detalles y lo que además estoy revisando.

Base de datos FireBird 2.1., aplicación desde Delphi 7 con DBExpress. Mi forma de conectarme es a través del archivo aliases.conf, en el escribo la cadena de conexión como lo comenté utilizando un alias para la ruta física de mi base de datos.


Al momento que me quiero conectar en el código solo abro y cierro la propiedad LoadParamsonConnect, para que actualice los parámetros de la conexión que viene en el archivo dbxconection.ini donde le especifico en el parámetro Database su alias correspondiente ("DataBase = Alias") y donde el "Alias" está definido en el archivos aliases.conf y que supongo lo convertirá a la dirección que tiene asignada.

Archivo dbxconnections.ini

Código:
[MiBase]
DriverName=Interbase
Database = BaseR
RoleName=RoleName
User_Name=sysdba
Password=masterkey
ServerCharSet=
SQLDialect=1
ErrorResourceFile=
LocaleCode=0000
BlobSize=-1
CommitRetain=False
WaitOnLocks=True
Interbase TransIsolation=ReadCommited
Trim Char=False

Archivo aliases.conf

Código:
BaseR = SERVIDOR/3050:C:\MIBASE\BASE.MDB

Así hago la conexión a la base al construir el módulo de datos.

Código Delphi [-]
procedure TDMPrincipal.DataModuleCreate(Sender: TObject);
begin
   try
      ConectaBD(BD, BaseR, MiClave);
   .
   .
   .
   except on E:Exception do Begin
         escribelog('Error al crear DMPrincipal: '+E.Message);
      End;
   end;
end;

Código Delphi [-]
Function TDMPrincipal.ConectaBD(BD: TSQLConnection; MiBase: String; MiClave: String): boolean;
begin
  with BD do
    begin
       Connected:= False;
       ConnectionName := MiBase;
       LoadParamsOnConnect:= True;
       try
          Connected := True;
       except on E:Exception do begin
          Connected := False;
          end;
       end;
       LoadParamsOnConnect := False;
       Params.Values['Password']:= Miclave;
       try
          Connected := True;
          Result:= True;
       except on E:Exception do begin
          Connected := False;
          Result:= False;
          end;
       end;
    end;
End;

Cuando depuro, en la función ConectaBD y reviso, trae bien los parámetros pero yo esperaría que convirtiera el Alias "BaseR" por su valor asignado en el aliases.conf, sin embargo toma el valor de "BaseR" como si fuera el nombre de la base de datos y por consiguiente envía error de que no encuentra el archivo para abrirlo. Si yo pongo la ruta y nombre de la base directamente en el parámetro BaseDatos se conecta sin problema o si cambio en el aliases.conf la ruta de la base por una ruta local de mi equipo cliente se conecta bien; es decir supongo yo hace bien la conversión del "Alias" por su valor asignado.

Espero haberme explicado y nuevamente gracias por su apoyo.

Última edición por to_to fecha: 16-06-2015 a las 19:02:23.
Responder Con Cita