2009-04-19 24 views
6

tengo una aplicación de escritorio que habla de jabón a un servidor. la comunicación es muy lenta, así que quiero descargar una gran cantidad de datos por adelantado y consultar desde mi base de datos local. Quiero que estos datos locales persistan después de que la aplicación se apaga, entonces, ¿cuál es la mejor manera de hacerlo? . . ¿hay buenos productos/ejemplos para hacer esto? . hay alrededor de 25 tablas que guardo en caché.base de datos local rápida

Respuesta

14

SQLite es perfecto para esto. Hace un par de años escribí una aplicación de "cliente inteligente" en la que mantuve un caché local para que los usuarios aún pudieran usar la aplicación fuera de línea. Utilicé SQLite y no tuve problemas, es muy pequeño, persiste rápidamente y la mayoría de los ORM modernos lo soportan. (Yo estaba usando NHibernate)

http://www.sqlite.org/

+0

SubSonic lo admite también. – flipdoubt

2

La base de datos H2 también podría satisfacer sus necesidades. Microsoft ofrece una edición compacta de SQL Server: SQL Server Mobile Edition. Si SQL Server y TSQL son lo tuyo, esta podría ser una buena opción.

+0

He estado utilizando H2 con éxito en .Net a través de IKVM. Los documentos H2 tienen una breve sección sobre esto en la sección Avanzado. –

0

Considere usar Firebird, creo que también tienen una extensión ADO.NET.

1

Siempre se puede usar una base de datos de acceso, por lo general es bastante fácil de integrar en la aplicación .NET y no requiere ningún servidor para ser instalado o configurado en el cliente.

0

Consideraría SQL Server Express o incluso SQL Server Compact Edition, que opera en archivos de bases de datos individuales, como lo hace Access. A pesar de esto, sigue siendo SQL Server.

+0

Me mantendría alejado de SQL Server Express ya que la configuración y la implementación siguen siendo una pesadilla. Sin embargo, SQL Server Compact Edition es una buena opción. –

+0

Nightmare está en el ojo del espectador. ¿Y estás hablando de 2008? Acabo de instalar SQL Server 2008 Enterprise Edition con todas las piezas, en unos cinco minutos de interacción del usuario (más aproximadamente media hora de espera para que termine). Esa fue la Edición _Enterprise_. Espero una instalación más corta para Express. Y eso es sin un archivo de respuesta para hacerlo sin preguntar. –

+0

La pregunta es sobre el uso de una base de datos local, por lo que tendría que exigir a sus clientes que instalen SQL Server Express. Puede incluirlo en su instalador pero agrega mucho al tamaño, y hay problemas sobre si otra aplicación ya ha instalado SQL Server Express o si el usuario ya tiene SQL Server instalado (como usted) –

3

Berkeley DB es una buena base de datos independiente. También debe considerar ESENT, que está integrado en Windows. Aquí hay un write-up de Ayende.

0

También podría considerar Apache Derby, que se utiliza en el servidor de Sun's Glassfish Java EE.

Cuestiones relacionadas