¿Migrar Base de Datos?

Mi problema es que necesito instalar mi Aplicación en cualquier maquina y la Base de Datos en cualquier formato (Access, DBF, Etc) que no necesite un Motor de Base de Datos para Ejecutarse. ¿Se puede?

4 respuestas

Respuesta
1
Aunque la respuesta es no, esto no es un no definitivo.
Los lenguajes actuales tienen la facilidad de poder actuar sobre casi todas las bases de datos existentes, pero claro esto en base a las librerías nativas unas, y a los ODBC otras, en cualquiera de estos 2 casos es necesario instalar previamente un manejador o en su defecto el cliente de la base de datos en referencia.
Los lenguajes de 3a. Generación (clipper, foxpro, dbase, etc) en los cuales el motor de la base de datos estaba en el runtime, usaban una terminología llamada xbase que incluyen todos los archivos o ficheros tipo .dbf.
En nuestros días los manejadores de esta terminología se encuentran en la instalación de office cualquiera que sea la version y este instala ODBC que puede manejar dichos archivos, claro, este tipo de base de datos, era muy fácil de violar, inestable, y crecía desmesuradamente.
Lenguajes como delphi que posee su propia base de datos (interbase) y power builder (sql anywhere) los cuales permiten la instalación de un cliente siempre y cuando no se actúe sobre el con otro cliente, como a manera de servidor o desde otra estación o maquina se interrogue la base de datos, sino que debe ser unitario y monousuario, ademas que no debe instalarse las utilidades de administración de la base de datos, de esa manera no pagas licencia de manejo.
Si tu problema es el pago de las licencias porque esto encarece el precio de tus aplicaciones, la solución es utilizar bases de datos gratuitas que se pueden bajar de la red, (en caso de que lo anterior dicho no llene tus expectativas), sin embargo, tendrías que sopesar el runtime de tu programa el cual viene por separado con tu lenguaje de programación, y aunque dicen que es gratuito, esto no siempre es la verdad.
En resumen como dije al principio NO hoy no puede ser siempre y cuando, tus programas estén lo más cercano a la tecnología actual de programación.
Muchas gracias por tu respuesta, me gusto que la ampliaras de esa forma.
Pero yo se que al utilizar un ODBC de los que instala Windows (Ver. X) Se puede lograr establecer la comunicación con la base de datos que uno quiera el problema es que en algunas ocasiones el DSN que se crea tiene que crearse también en la maquina de destino donde se desea instalar la aplicación que es el problema que yo tengo, por que quisiera saber si puedo crear un DSN con las características necesarias (Base de Datos) y que tan solo al copiar ese DSN a la Maquina en que deseo instalar mi aplicación logre establecer la comunicación y ejecutar correctamente mi aplicación.
¿Es posible?, ¿Estoy Equivocado?, Oriéntame por Favor
Por lo que me cuentas creo que tienes claro que un programa puede comunicarse con cualquier base de datos por miedo de un ODBC, me parece que tu problema es muy simple, asumo que la base de datos esta montada en un ordenador y por medio de otro necesitas comunicarte a este.
Asumo que la base de datos esta montada en un directorio, primero deberás tener compartido dicho directorio de forma completa, sin restricción de password, luego en la maquina remota, deberás de crear una unidad virtual, apuntando a este directorio, luego crear el ODBC dirigiendo la base de datos a la unidad nueva, seleccionando el nombre de dicha base de datos.
Pienso que eso puede ayudar mucho. En principio esto que de digo deberá resolver el problema.
Avisame como te fue.
Respuesta
1
Bueno es posible si tu aplicación no usa códigos específicos de errores de la base de datos. Lo que debes hacer es usar un ODBC para conectar a tu base de datos sea cual sea. Lo único eso si es que las estructuras de las tablas sean idénticas. Si por alguna razón tiene que cambiar el tipo de dato no van a funcionar los datawindows.
Muchas gracias por tu ayuda, ya hice la migración de la base de datos a Access y la aplicación se ejecuto correctamente, pero tengo un pequeño detalle, al utilizar ODBC tuve que crear un DSN de Usuario con Información de la Base de Datos y todo eso, por lo que para que en la maquina que lo instale tuve que crear un DSN de Usuario con el mismo nombre y las mismas características. ¿No es posible crear un DSN que con copiarlo a la maquina en que quiero instalar mi sistema funcione?
Pues en cada equipo debes configurar el ODBC por que el equipo donde lo instale debe tener los controladores de la base de datos.
Podrías exportar la llave del registro del ODBC que usas para la base de datos, pero necesitarías copiar los dlls de los controladores de la base de datos, es algo engorroso, me parece más fácil configurar la base de datos en cada equipo.
Respuesta
1
En teoría si trabajás a través de un ODBC no tendrías problemas en usar múltiples motores de BD. Yo interpreto que necesitas múltiples en diferentes lugares y no dentro del mismo sistema en la misma empresa por ej.
En la práctica depende bastante de como hayas programada y que instrucciones de sql hayas empleado.
Si me especificás un poco más el caso en particular tal vez te pueda dar más detalles.
Desarrolle una aplicación la cual almacena información por durante un par de semanas, esta misma aplicación y la base de datos esta disponible para n numero de personas que deceen consultar dicha información. Por lo que tengo que crear un disco de instalación (CD) para que cuando este sea requerido por alguien se le de una copia para que lo instale en su ordenador o (n) ordenadores como sea el caso. De hecho ya lo hice, migre la BD a ACCESS y mi aplicación funciona correctamente, el detalle es que tuve que crear un DSN de Usuario (OBDC Access)para poder comunicar la BD con la Aplicación, pero, se debe crear ese mismo DSN de Usuario con las mismas características que el que yo cree para que funcione en el Ordenador en que se instala la Aplicación. Mi pregunta es, ¿si se puede y como hago un DSN de Archivo para que tan solo con copiar ese DSN de Archivo al Ordenador mi aplicación funcione correctamente y no tenga que estar creando y configurando el DSN en cada Ordenador en el que se desea Instalar la Aplicación? ¿O qué otra forma existe para poder hacer esto?
Gracias...
Lo que podes hacer es que tu instalador cree el dsn/odbc en la pc.
Los instaladores como el installshield te dan la posibilidad de hacer esto.
Respuesta
1
Un DW solo trabaja con una BD. Debes tener tantas copias de un DW como formatos de BD. Por ejemplo si tienes la aplicación para trabajar en Access y DBF, debes tener un DW para acceder Access y otro para acceder el DBF. Lo que debes adicionar a tu aplicación es el hecho de asignar dinámicamente el DW según la BD a la que se conecte el mismo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas