Pregunta

Construiré un conjunto de aplicaciones. Una de estas aplicaciones es la aplicación desatendida (escrita en VB6) que escribirá los datos que recibe de varias fuentes en una base de datos local. Todas las demás aplicaciones (se escribirán en VS 2008 / c # 3.0) leerán estos datos principalmente por razones de informes.

No quiero SQL Server / MySql / Sybase o incluso sus ediciones express, porque su distribución es un problema (por ejemplo, requiere una instalación por separado, etc.). Estoy buscando una base de datos local que tenga controladores para VB6 (probablemente OLEDB u ODBC si tengo que conformarme con ella) y ADO.NET. También sería bueno si la base de datos tuviera soporte para ORM, como NHibernate o al menos mapeadores 1 a 1, como Subsonic, pero eso no es un factor decisivo. Pero mi requisito principal es que la base de datos debe ser enormemente sólida, para que no tenga que perder el tiempo jugando con ella, recuperando datos perdidos, etc.

Tengo experiencia con MS Access desde el principio y no tengo demasiados recuerdos buenos (tampoco fue malo). He oído hablar de SQLite, SQL Server Compact Edition, VistaDB, etc. pero no tengo experiencia con ellos y no conozco a nadie que lo haya usado realmente.

¿Qué hay por ahí que mejor se adapte a mi situación?

¿Fue útil?

Solución

SQLite podría encajar perfectamente. Asegúrese de verifique también todos los contenedores disponibles .

Otros consejos

¿Has pensado en FireBird SQL ?

Recomendaría SQLite a menos que la base de datos. Tengo experiencia en usarlo y estaba en los mismos zapatos que tú. El proyecto System.Data.Sqlite es realmente agradable y son compatibles con ADO.net 2.0 y toda esa fantasía. Actualmente están trabajando para obtener también soporte completo de Linq en el contenedor. Lo recomiendo por los siguientes motivos.

  1. Huella baja: el motor tiene solo 700 KB o menos.
  2. Escalable: puede manejar bases de datos bastante grandes. Orden de GB. Cualquier cosa más grande que esto probablemente requerirá un motor de base de datos basado en servidor con MUCHA RAM.
  3. Durable: su conjunto de pruebas supera la mayor parte del código y se ha demostrado que funciona en muchas aplicaciones comerciales como el iPhone
  4. Rápido: hay muy poca sobrecarga con este motor.
  5. Actual: el proyecto .NET está muy actualizado con la última tecnología .NET 3.5 que Microsoft está presentando.
  6. Portátil: puede usarlo en sistemas integrados o en el escritorio.

Verifique el proyecto System.Data.Sqlite aquí http://sqlite.phxsoftware.com/

Consulte el Servidor de bases de datos Advantage. Tiene una opción de instalación silenciosa, tiene una huella muy pequeña y es fácil de mantener. Tiene mucho soporte de cliente: ODBC, OLE DB, proveedor de datos .net, jdbc, dbi, php, etc. Motor local libre de regalías (solo un dll que se ejecuta en proceso con su aplicación), cliente / servidor económico, SQL y acceso directo a la tabla de navegación.

La DevZone

SQL Server Compact Edition está en proceso, entonces no hay nada separado para instalar.

No tengo mucha experiencia con SQLite pero lo he usado un poco. Se utiliza en una LOT de situaciones y aplicaciones. Realmente hay cientos de pequeñas bases de datos, pero recomendaría SQLite como punto de partida al menos.

Puedo responder por VistaDB. Otra base de datos que quizás desee ver es Blackfish

SQLite es de muy bajo impacto y MUY bien escrito. Es perfecto para una base de datos de clientes locales

SQLite como otros han mencionado con el proveedor SQLite.net ADO.net, para un fácil acceso a .NET a ello.

He usado ScimoreDB, y escribí mi apéndice para log4net, para mi aplicación. He tenido resultados mixtos y he pasado mucho tiempo tratando de revisar la documentación para que las cosas funcionen según las necesidades.

Me estoy moviendo hacia SqlLite y había un enlace flotando sobre el uso de SubSonic con SqlLite.

Es posible usar SQL Server como una base de datos local que se conecta directamente a un archivo de base de datos. Pero esto requiere que tenga instalado SQL Server Express.

Observe la configuración predeterminada de ASP.Net con un proveedor de membresía. Creará una base de datos local basada en archivos para el sitio web.

Con este enfoque, puede estar bien, ya que puede usar todas sus herramientas familiares al desarrollar.

EDITAR:
Acabo de notar la etiqueta incrustada. Si desea ejecutar la aplicación en dispositivos con Windows CE, puede optar por SQL Servidor compacto . No admite procedimientos almacenados AFAIK pero admite la mayoría de las otras características de SQL Server.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top