![]() |
aplicacion multi-base de datos
Saludos,
Pronto iniciare un proyecto y me gustaria que mi aplicacion sea capaz de poder trabajar con multiples base de datos, es decir, al momento de instalar la aplicacion indicarle con cual gestor trabajara y listo, sin tener que modificar nada del programa a nivel de programacion. Creo que he escuchado que es posible lograrlo con los dbexpress, simplemente cambiandole el conector, pero no estoy muy seguro de lo que hablo, alguien me pudiera orientar mejor? |
de poer hacer se se puede..
pero hay que tener mucho cuidado en el tema de las consultas por ejemplo... en Sql Se puede Usar Case pero en Access no, quiza no sea el mejor ejemplo que te puedo mencionar.. pero es un ejemplo valido |
completamente de acuerdo con oscarac, la idea es que siempre que escribas una línea de código pienses como afecta tu arquitectura "multi-base de datos"
Por tanto lo mejor (o por lo menos lo que yo recomiendo) es que separes todo el codigo SQL en una capa de acceso a datos... cuando hablamos de "separar en otra capa" no necesariamente significa utilizar tecnologias "avanzadas" como datasnap o corba... sencillamente hablamos de ordenar tu codigo de tal manera que no dejes regado por ahi todo tu SQL, sino mas bien encapsularlo en uno o mas datamodule's para que sea mantenible. --- Agregado --- Se me olvidaba, si puedes utilizar dbExpress como dices, cambiando los parametros iniciales de conexión en tiempo de ejecución, debes tener enc uenta que las opciones de dbExpress son limitadas... puedes tambien hacer este trabajao con ZEOS, ADO, o cualquier otro, inclusive a través de ODBC... que se yo... pero como ya se trató en otro foro, yo recomiendo dbExpress por que es nativo, y es a loq ue le está apostando embarcadero hacia el futuro... para las consultas, un breve ejemplo: Código:
Unit1: |
La franja horaria es GMT +2. Ahora son las 07:08:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi