Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/04/2009, 08:22
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear un sistema de proposito general

Cita:
Como puedo hacer lo que hacen los tipicos programas como por ejemplo los de contabilidad, que cuando se instalan el usuario nunca configura una Base de Datos ni la ve tampoco pero los datos se mantienen almacenados en algun lugar, dudo mucho que sea contra los ya pasados de moda archivos planos...
En realidad puede que sean archivos planos, o tablas DBF o incluso archivos de tipo Access (*.mdb), o simplemente archivos binarios propios. todas esas posibilidades pueden darse en esos sistemas.
También es posible que te estés refiriendo a aplicaciones ERP, o CRM, algunas de las cuales cuentan con motores de bases de datos propios y configurables de acuerdo a los módulos que se instalan.
El tema es amplio y muy variado, donde no existe una formula de solución, sino desarrollos propios de cada empresa.

El tema de usar un motor de Bases de Datos se debe no a los almacenamientos, sino a la potencia que los lenguajes de consulta tienen y a su portabilidad e integración con sistemas de terceros proveedores. Si tu aplicación pretende acercarse a un espectro amplio de empresas, forzosamente deberás trabajar con bases de datos relacionales. Con cuál, eso es otro tema...
Yendo al punto, la cosa pasa por hacer una aplicación de conexión versátil, lo que implica tener clases definidas para al menos los tres o cuatro DBMS más importantes del mercado, y codificar las consultas lo más cerca del ANSI que puedas para lo que es general.
Al definir clases diferentes para cada DBMS, lo único que debes hacer es instanciar una u otra, según uses, y usar los mismos métodos en cada una, con su codificación distintiva.

Una opción final, es, si quieres usar la potencia del SQL pero no los DBMS, programar usando SQLite, que tiene una dll que se incrusta como referencia en los .Net, y te permite manejar las bases de datos definidas en carpetas propias, con toda la funcionalidad de un esquema DBMS, con algunas limitaciones. Su principal ventaja es el uso de los mismos métodos que para cualquier otro ADO de .Net.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)