FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
cambiar base de datos por código sin usar ODBC
Vereis, me han pasado una aplicación desarrollada con el Delphi 7 y tengo que realizar algunos cambios. El problema es que jamás he usado Delphi. Aun así puedo seguir el código bastante bien.
El caso es que la aplicación utiliza una base de datos Acces. En toda la aplicación se utiliza un alias "BDEVACOM" para referirse a ella. Este alias se corresponde con un ODBC creado en el sistema que apunta a una base de datos concreta: "D:\Evacom\cof.mdb". Yo lo que quiero permitir que el usuario elija la base de datos que quiera (un fichero ".mbd" de Access) de una lista, o sea que no puedo tener la base de datos "fijada", la tengo que poder cambiar por código dinámicamente. Por lo que veo las consultas SQL se hacen con TQuery y he visto lineas de este estilo: query.DataBaseName:='BDEVACOM' Pero yo necesito algo como esto: query.DataBasename = RutaMDB o sea, poder indicar un ".mdb" cualquiera. Esto seria lo ideal. La otra opción sería poder cambiar el ".mdb" asociado al ODBC por código. Agradeceria cualquier ayuda al respecto porque estoy bloqueado, sin poder avanzar. Un saludo. |
#2
|
||||
|
||||
En tu caso creo que lo que necesitas es modificar ese Alias ("BDEVACOM") por código.
Si buscas en los foros, seguro que encuentras más soluciones; Yo por lo pronto he encontrado este hilo y este otro, aunque seguro que hay más... Esa configuración posiblemente no es la más adecuada (visto a día de hoy)[NOTA**]; Con esto quiero decir, que si en un futuro piensas seguir haciendo cambios en la aplicación, posiblemente puedas (y te interese) modificar el sistema de conexión a la Base de Datos o incluso la Base de Datos, pero eso es "otro cantar"; Si es así, dilo y seguro que el enfoque es otro. Si lo que necesitas son los cambios mínimos para conseguir lo que explicas "sin tener que tocar mucho código" creo que lo de arriba te será más que suficiente. [NOTA**]: Delphi7 + Access + BDE(ODBC)
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 23-01-2009 a las 14:39:04. |
#3
|
|||
|
|||
Hola, te dejo este codigo (ya antiguo). Con el puedes borrar y crear alias, etc...
Asi, si quieres 'cargar' una base de datos, tansolo tendras que borrar y recrear el alias. Te recomiendo, de todas maneras, que pases a ADO o a SQL, pues estas cosas se simplifican mucho. Saludos. |
#4
|
||||
|
||||
Pon este código en el FormCreate
De esta manera no se utiliza odbc, sino que se utiliza JetOleDB. Así se manipula la cadena de conexión del TADODatabase. wdatos es el directorio donde está el mdb. Yo lo pongo en este procedimiento porque indico en un ini el directorio del mdb. No creo que te cueste demasiado adaptarlo para que seleccione el mdb el propio usuario. Por otro lado puedes generar la cadena de conexión y revisarla con cualquier editor de texto. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#5
|
|||
|
|||
Muchisimas gracias a todos. Voy a probar vuestras ideas a ver si me funciona.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Base de datos local sin odbc ni aliases | waremovil | C++ Builder | 3 | 09-01-2009 15:41:17 |
Conexion a base de datos Access con ODBC | Nbull | Conexión con bases de datos | 4 | 26-12-2005 18:03:58 |
conexion mediante ODBC a la base de datos mysql, por linea de codigo de delphi | sakuragi | Conexión con bases de datos | 21 | 15-03-2005 19:43:59 |
conectar base de datos mediando ODBC AdministratOR | sakuragi | Conexión con bases de datos | 2 | 20-09-2004 21:51:57 |
Alguien sabe como crear un alias en Fuentes de datos ODBC (32 bits) por codigo ? | edson | Conexión con bases de datos | 2 | 15-04-2004 16:57:26 |
|