query - Base de datos integrada para.net que puede ejecutarse en una red
nosql embedded database (10)
Mira VistaDB . Tienen un producto muy bueno, la versión del servidor (3.4) está en Beta y está muy cerca de ser lanzada.
Estaba (y todavía estoy) buscando una base de datos incrustada para usar en una aplicación .net (c #). La advertencia: la aplicación (o al menos la base de datos) se almacena en una unidad de red, pero solo la usa 1 usuario a la vez.
Ahora, mi primera idea fue la edición SQL Server Compact . Eso está muy bien integrado, pero no se puede ejecutar en una red.
Firebird parece tener el mismo problema, pero la integración de .net parece no ser de primera clase y no está documentada.
Blackfish SQL parece interesante, pero no hay prueba de la versión .net. El precio también está bien.
¿Alguna otra sugerencia de algo que funciona bien con .net y se ejecuta en una red sin la necesidad de instalar realmente un software de servidor?
Parece que ADO / Access es perfecto para sus necesidades. Está cocido en la pila MS, bien sazonado y multiusuario.
Puede crear programáticamente un DB así:
Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=//server/path/to/db.mdb")
A continuación, puede utilizar los métodos estándar de ADO.NET para interactuar con la base de datos.
Puedes usar el Firebird embeded, es solo un DLL que deberás enviar con tu aplicación.
Acerca de las cosas no documentadas, eso no es cierto, el controlador firebird .NET implementa las interfaces ADO, por lo que si conoce ADO puede trabajar con Firebird, básicamente, en lugar de SQLConnection utilizará FBConnection y así sucesivamente, pero mi consejo es escribir un capa de acceso a datos y solo usa interfaces en tu código, algo como esto:
using FirebirdSql.Data.FirebirdClient;
public static IDbConnection MyConnection()
{
FbConnection cn = new FbConnection("...");
return cn;
}
Este ejemplo es muy simple, pero no necesitarás mucho más que eso.
Usamos Firebird para todas nuestras aplicaciones sin ningún problema, al menos debería probarlo.
También está Valentina . Leyo este producto cuando estaba trabajando en algún proyecto Real Basic. La versión RB es muy buena.
Yo recomendaría Advantage Database Server (www.advantagedatabase.com). Es un BD incrustado maduro con gran soporte y accesible desde muchos lenguajes de desarrollo además de .NET. La versión "local" es gratuita, se ejecuta dentro de su aplicación en forma de DLL, no requiere instalación en el servidor / recurso compartido de red, y es compatible con todas las funciones principales de DB. Puede almacenar los archivos de la base de datos o de la aplicación en la red; no le importa dónde están los datos.
Descargo de responsabilidad: soy ingeniero en el grupo de I + D de ADS. Lo prometo, es genial :)
Un poco tarde para la publicación aquí ... Y VistaDB ya se mencionó, pero quería señalar que VistaDB está administrado al 100% (ya que su publicación fue etiquetada como .net). Se puede ejecutar desde una unidad de red compartida, y se implementa 1MB xcopy.
Como mencionas SQL CE, también admitimos T-SQL Syntax y tipos de datos (de hecho más que SQL CE) y tenemos vistas actualizables, TSQL Procs y otras cosas que faltan en SQL CE.
¿Has considerado un OODB? De las diversas alternativas de fuentes abiertas, recomiendo db4o (lo siento por la autopromoción :)) que puede ejecutarse en modo incrustado o en modo cliente / servidor.
Mejor
Adriano
¿Por qué no utilizar SQL Server 2005 Express Edition ?
Realmente depende de lo que quiere decir con "incrustado", pero puede redistribuir SQLServer2005E con sus aplicaciones y el usuario nunca tiene que saber que está allí.
Me vino a la mente SQLite mientras leía su pregunta, y estoy seguro de que es posible acceder a ella desde una unidad de red si se mantiene bajo la restricción de 1 usuario a la vez.
Estoy confundido.
Está solicitando una base de datos incrustada, donde la base de datos se almacena en el servidor. eso se traduce en almacenar el archivo de datos en un recurso compartido de red. Luego dice que SQL Compact Edition no funcionará ... excepto que si se mira este documento:
Documento de Word:
Elección entre SQL Server 2005 Compact Edition y SQL Server 2005 Express Edition
En la página 8, tiene un bonito tic verde al lado de "Almacenamiento de archivos de datos en una red compartida".
Entonces me parece que tu primer pensamiento fue el correcto.