Mensaje    Asunto: Sobre Login en BDD Interbase Responder citando

Este codigo que he podido ver en el foro da problemas cuando haces una restauración sobre la base de datos:

Código:

void __fastcall TMDatos::IBDatabaseLogin(TIBDatabase *Database,
      TStrings *LoginParams)
{
/* (Cod("texto a codificar")); funcion para codificar*/
    LoginParams->Values["USER_NAME"] = Cod("Nombre de usuario codificado");
    LoginParams->Values["PASSWORD"] = Cod("Clave codificada");
}


Y el proplema biene porque cuando haces una restauración primero debes de cerras la Base de datos, de lo contrario falla, y por otra parte si la cierras se pierde el login del evento IBDatabaseLogin.

Otra forma de hacerlo pudiendo poner la clave codificada, o no, es en el evento "OnCreate" del Modulo de datos con este codigo:
Código:

void __fastcall TMDatos::DataModuleCreate(TObject *Sender)
{
/*Le paso los valores a TIBDatabase. Codificar es una funcion propia que
codifica un array con el segundo parametro a 1 y decodifica con el seundo parametro a 0. Previamente le paso el array codificado, para que con un editor exadecimal no puedan ver las claves*/

    MDatos->IBDatabase->Params->Values["USER_NAME"] = Codificar("Nombre de usuario codificado",0);
    MDatos->IBDatabase->Params->Values["PASSWORD"] = Codificar("Clave codificada",0);


/*Le paso los valores a TIBBackupService*/

    MDatos->IBDCopia->Params->Values["USER_NAME"] = Codificar("Nombre de usuario codificado",0);
    MDatos->IBDCopia->Params->Values["PASSWORD"] = Codificar("Clave codificada",0);


/*Le paso los valores a TIBRestoreService*/

    MDatos->IBDRestauracion->Params->Values["USER_NAME"] = Codificar("Nombre de usuario codificado",0);
    MDatos->IBDRestauracion->Params->Values["PASSWORD"] = Codificar("Clave codificada",0);
}


De esta forma puedes pasar todos los user_name y password a tantos componentes como necesites y poniendolo solo una vez no tendrás que volver a preocuparte de ello. Lo digo por si a alguien le pudiera interesar, de esta forma si cierras la Base de datos para restablecer una copia de seguridad no tienes problemas y puedes seguier trabajando con tu aplicacion.
_________________
Muchos hombres no se equivocan jamás porque no se proponen nada razonable.