Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Question Necesito un "BDE Administrator" para dbExpress

Hola,

Necesito manejar las conexiones de dbExpress exactamente como se manejan los Alias en BDE. Con esto quiero decir que necesito una forma de que, sin cambiar para nada los ejecutables, puedan redifinirse las conexiones para que apunten ya sea una Base de Datos distinta, o cambiar el motor de la Base de Datos que se tiene, o simplemente cambiar otros parámetros de la conexión.

El tipo de aplicaciones que desarrollo parte del supuesto que el aplicativo no está amarrado a un motor de Base de Datos y que este tipo de ajuste lo debe poder hacer el cliente, no el programador. Es vital conservar esta funcionalidad.

De lo que he averiguado hasta ahora sobre dbExpress, entiendo que ello puede lograrse mediante el connectionName, que sería la emulación del AliasName, tomando los parámetros del archivo .Ini definido así ; pero, como hacer que el usuario pueda administrar facilmente este archivo, sin requerir que entre a editarlo con un block de notas, lo que implica perder el soporte de la ayuda en línea ?

Mi plan original era escribir yo una utilidad que hiciera eso; pero en otro hilo me dijeron que podía hacerse directamente. sin embargo, aunque pregunté, nadie me ha dicho como. Podría alguién orientarme en esto.
Responder Con Cita
  #2  
Antiguo 05-09-2007
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Poder: 21
teletranx Va por buen camino
Estimado, yo estoy utilizando FireBird con DBExpress, creo un Dll de conexión, en la cual redirecciono a una o otra base, cambiando un ini.
No se si eso necesitas, si es así te envió la rutina

JC
Responder Con Cita
  #3  
Antiguo 05-09-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Question Gracias. Como cambias el .Ini ?

Cita:
Empezado por teletranx Ver Mensaje
Estimado, yo estoy utilizando FireBird con DBExpress, creo un Dll de conexión, en la cual redirecciono a una o otra base, cambiando un ini.
No se si eso necesitas, si es así te envió la rutina

JC
Hola,
Gracias por la respuesta y la oferta.

La verdad no estoy muy seguro de entender bien lo que mencionas.

Corrijeme si me equivoco. Cuando tú hablas de que usas un DLL de conexión, supongo que a lo que te refieres es que concentras el código de acceso a la Base de Datos en un DLL, similar a la lógica del servidor Web, y que, asociado a ese DLL. manejas la conexión con un archivo ini (concretamente el dbxconnections.ini), de tal forma que cambiar de Base de Datos, o motor, es cambiar solo el .Ini.

Ahora bien, la pregunta es como modificas el .Ini ?. El .Ini se puede modificar con el block de notas; pero lo que yo necesito es un programa, independiente del aplicativo, que lo haga manejando la integridad y la documentación, mostrando al usuario una interfase similar a la mostrada por el BDE Administrator. Dicho en otra palabras, un programa que le muestre al usuario todos los parametros que puede cambiar, brindandole una forma fácil, segura y didactica (o sea bien documentada con un sistema de ayudas) de hacerlo. Tienes un programa de esas características ?

Nota general:

Como quizás me entendieron mal en el otro hilo, si alguién sabe que no hay nada así disponible para dbExpress, por favor confirmelo para empezar a hacer uno.
Responder Con Cita
  #4  
Antiguo 05-09-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
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.
__________________
Saludos.
Responder Con Cita
  #5  
Antiguo 05-09-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 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
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53
"dbExpress Error: [0x0011]: Duplicate TransactionID..." jmlifi Conexión con bases de datos 1 27-07-2006 19:28:14
error "unable to load dbexpress.dll"... kryna MySQL 2 13-07-2005 08:47:28
Error "Invalid User/Password" al intentar conectar con dbexpress vivim82 Conexión con bases de datos 1 30-04-2004 03:22:49
Necesito deshabilitar el mensaje: "At least one service or driver failed during..." sarackganda Windows 0 15-04-2004 04:40:35


La franja horaria es GMT +2. Ahora son las 11:27:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi