Base de datos integrada para .net que puede ejecutarse en una red

votos
30

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?

Publicado el 03/08/2008 a las 15:41
fuente por usuario
En otros idiomas...                            


10 respuestas

votos
21

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.

SQLite en .NET - Comience a funcionar en 3 minutos

Respondida el 03/08/2008 a las 15:48
fuente por usuario

votos
10

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 características 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 :)

Respondida el 21/10/2008 a las 20:20
fuente por usuario

votos
8

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.

Respondida el 09/08/2008 a las 13:51
fuente por usuario

votos
8

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.

Respondida el 03/08/2008 a las 16:48
fuente por usuario

votos
7

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.

Respondida el 22/04/2009 a las 22:01
fuente por usuario

votos
6

Mira VistaDB . Tienen un producto muy bueno, la versión del servidor (3.4) está en Beta y está muy cerca de ser lanzada.

Respondida el 03/08/2008 a las 15:57
fuente por usuario

votos
4

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:
Elegir 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.

Respondida el 22/04/2009 a las 22:18
fuente por usuario

votos
4

¿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í.

Incrustar SQL Server Express en aplicaciones

Incrustar SQL Server Express en aplicaciones personalizadas

Respondida el 03/08/2008 a las 16:34
fuente por usuario

votos
2

¿Usted ha considerado un OODB? De las diferentes alternativas de fuentes abiertas que recomiendo db4o (lo siento por la auto-promoción :)) que puede funcionar ya sea incorporado o en modo cliente / servidor.

Mejor

Adriano

Respondida el 16/05/2010 a las 16:18
fuente por usuario

votos
2

También está Valentina . Leyo este producto cuando estaba trabajando en algún proyecto Real Basic. La versión RB es muy buena.

Respondida el 10/08/2008 a las 03:55
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more