Ver Mensaje Individual
  #5  
Antiguo 05-09-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Reputación: 18
rolandoj Va por buen camino
Gracias; pero el problema es más complejo

Cita:
Empezado por basti Ver Mensaje
Para cambiar la base de datos sólo necesitas cambiar el driver del SqlConection. El driver es una dll. Si quieres que tu aplicación trabaje para varias bases de datos, tienes que adjuntar las dll con tu aplicación.

Creo que a lo que se refiere teletranx, es que guarda en un ini el nombre de la dll con la que se quiere conectar.

Delphi tiene la clase TIniFile para el manejo de este tipo de archivos. Puedes hacer un pequeño programa que permita cambiar el el nombre de la dll en el ini, luego en tu aplicación cambias este valor en el SqlConnection leyéndolo del ini.
Hola,

Gracias por la aclaración.

Si, yo he manejado muchas veces todo eso de leer y escribir archivos .Ini desde un programa; pero el problema no es tan simple como cambiar el nombre del driver o distribuír las diversas DLLs, eso solo es una muy pequeña parte.

En diferentes motores, los parámetros pueden tener significados diferentes, o diferentes valores válidos, o incluso no existir; eso sin contar la sintaxis de los valores de dichos parámetros, como la convención del nombre del archivo de Base de Datos (incluso, puede que no debas suministrar el nombre físico del archivo, sino un nombre lógico creado en el motor). El usuario encargado de configurar la aplicación en cada caso debería contar con una herramienta que le permita cambiar cualquier parámetro con pleno conocimiento de lo que está haciendo.

El BDE Administrator hace eso bastante bien. Hacer un programa equivalente para dbExpress no es fácil, ten en cuenta que el programa debe almacenar la definición interna de cada driver posible, permitir crear conexiones basadas en un driver, editar en cada conexión todos los parámetros, validando la edición y encima contar con un sistema de ayudas que documente al usuario.

La gran pregunta para mí sigue siendo si ese programa ya está disponible. Empiezo a creer que no porque nadie parece saber al respecto
Responder Con Cita