• Sábado 9 de Noviembre de 2024, 03:46

Autor Tema:  Conexion A Bd Cuya Ruta Se Desconoce Al Compilar  (Leído 1291 veces)

Yañez

  • Miembro activo
  • **
  • Mensajes: 48
    • Ver Perfil
Conexion A Bd Cuya Ruta Se Desconoce Al Compilar
« en: Miércoles 13 de Junio de 2007, 11:39 »
0
Hola a todos, nuevamente !!!!

Les cuento mi problema.

Tengo un programa (Builder C++) que se conecta a una base de datos de Interbase. Esto lo hago mediante insertar un objeto IBDatabase (de la paleta Interbase) en un DataModule y, luego, al hacer doble clic sobre él me aparece la ventana "Database Component Editor" donde especifico si es una conexión local o remota, la ruta a la base de datos, el usuario, la contraseña y otras cosas...

Pero el asunto es que en ocasiones la base de datos puede estar en un equipo local y en otras en un servidor del que desconozco su nombre... y claro, no veo lógico compilar el programa con la configuración distinta de cada caso...

Imagino que tiene que haber otra manera de especificar la ubicación de la base de datos que me permita leer de un archivo de texto cualquiera la ubicación para luego ir a buscarla allí, con lo que cada equipo cliente tendría un fichero de texto distinto con su configuración particular.

El problema es que no se por donde empezar... de hecho no se ni siquiera como especificar lo de la Bd en tiempo de ejecución en vez del tiempo de diseño como lo hago hasta ahora...

Espero no haberme extendido mucho y haber sido claro con mi pregunta...

Gracias a todos de antemano....  :hola:

:comp:

Yañez

  • Miembro activo
  • **
  • Mensajes: 48
    • Ver Perfil
Re: Conexion A Bd Cuya Ruta Se Desconoce Al Compilar
« Respuesta #1 en: Miércoles 13 de Junio de 2007, 17:56 »
0
Vaya! Al fin lo he logrado. :D

Parece que después de todo me estaba complicando mucho la vida... Como no sabía por donde empezar,  hice muchas pruebas inútiles y leí mucha información que tampoco era muy útil (aunque no conozco otra forma de aprender que experimentar  :comp:  )

Al final la guía la encontre en el libro "La Cara Oculta de C++ Builder" aunque tuve que hacer algunos cambios, obviamente.

El código final es este:

Código: Text
  1.  
  2.      DataModule1->base->Close();
  3.      TIniFile *archivoIni = new TIniFile("C:\\DIRECTORIO\\Base.ini");
  4.      DataModule1->base->DatabaseName=archivoIni->ReadString("Database", "Path", "");;
  5.      DataModule1->base->Open();
  6.  
  7.  

Cierro la base de datos, cargo la ruta a la base de datos desde un archivo ini y luego la vuelvo abrir.

No he hecho ningún cambio en el TIBDatabase que ya estaba en el DataModule1, ya que el resto de los parámetros me valían, sólo cambio la ruta a la base de datos en tiempo de ejecución.

 :hola:  :hola:  :hola:  :hola: