Banco de dados embutido para .net que pode ser executado fora de uma rede

votos
30

Eu era (e ainda sou) à procura de um banco de dados integrado para ser usado em um aplicativo .NET (C #). A ressalva: o aplicativo (ou pelo menos o banco de dados) é armazenada em uma unidade de rede, mas apenas utilizado por um usuário de cada vez.

Agora, a minha primeira ideia era SQL Server Compact edição . Isso é realmente muito bem integreated, mas não pode fugir de uma rede.

Firebird parece ter o mesmo problema, mas a integração .net parece ser não é realmente de primeira classe e é em grande parte em situação irregular.

SQL Blackfish parece interessante, mas não há julgamento da versão .NET. Preço também é OK.

Qualquer outra sugestão de algo que funciona bem com .net e foge de uma rede sem a necessidade de realmente instalar um software servidor?

Publicado 03/08/2008 em 15:41
fonte usuário
Em outras línguas...                            


10 respostas

votos
21

SQLite me veio à mente ao ler sua pergunta, e estou certo de que é possível acessá-lo a partir de uma unidade de rede se você manter-se à restrição de 1 utilizador de cada vez.

SQLite em .NET - Comece a trabalhar em 3 minutos

Respondeu 03/08/2008 em 15:48
fonte usuário

votos
10

Eu recomendo Advantage Database Server (www.advantagedatabase.com). É um DB incorporado maduro, com grande apoio e acessível a partir de muitas linguagens de desenvolvimento, além de .NET. A versão "local" é livre, é executado dentro de sua aplicação na forma de uma DLL, não requer instalação no compartilhamento de servidor / rede e suporta todas as principais características DB. Você pode armazenar o banco de dados e / ou arquivos de aplicativos todos na rede; ele não se importa onde os dados.

Disclaimer: Eu sou um engenheiro no grupo ADS R & D. Eu prometo, balança :)

Respondeu 21/10/2008 em 20:20
fonte usuário

votos
8

Você pode usar o firebird embeded, é apenas uma dll que você vai precisar para enviar com você aplicativo.

Sobre as coisas que são indocumentados, que não é verdade, o motorista .NET firebird implementa o ADO Interfaces, por isso, se você sabe ADO você pode trabalhar com Firebird, basicamente, em vez de SQLConnection que você vai usar FBConnection e assim por diante, mas o meu conselho é para escrever um camada de acesso de dados e uso apenas interfaces no seu código, algo como isto:

using FirebirdSql.Data.FirebirdClient;

public static IDbConnection MyConnection()
{
    FbConnection cn = new FbConnection("...");
    return cn;
}

Este exemplo é muito simples, mas você não vai precisar de muito mais do que isso.

Usamos firebird para o nosso toda a aplicação sem problemas, você deve, pelo menos, experimentá-lo.

Respondeu 09/08/2008 em 13:51
fonte usuário

votos
8

Parece que ADO / Acesso é perfeito para suas necessidades. É cozido no MS pilha, bem temperado, e multi-utilizador.

Você pode programaticamente criar um DB assim:

Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server\path\to\db.mdb")

Você pode então usar métodos ADO.NET padrão para interagir com o banco de dados.

Respondeu 03/08/2008 em 16:48
fonte usuário

votos
7

Um pouco tarde para o cargo aqui .. E VistaDB já é mencionado, mas eu queria salientar que VistaDB é controlado 100% (.net desde o seu post foi marcado). Ele pode ser executado a partir de uma unidade de rede compartilhada, e é de 1MB xcopy implantado.

Desde que você menciona SQL CE, também apoiamos TSQL Sintaxe e tipos de dados (na verdade mais de SQL CE) e têm vistas atualizáveis, TSQL Procs e outras coisas faltando no SQL CE.

Respondeu 22/04/2009 em 22:01
fonte usuário

votos
6

Confira VistaDB . Eles têm um produto muito bom, a versão do servidor (3.4) está em beta e está muito perto do lançamento.

Respondeu 03/08/2008 em 15:57
fonte usuário

votos
4

Estou confuso.

Você está pedindo para um banco de dados embeded - onde o próprio banco de dados é armazenado no servidor. que se traduz em armazenar o arquivo de dados em um compartilhamento de rede. Você, então, dizer que SQL Compact Edition não vai funcionar ... exceto que se olharmos para este documento:

Documento do Word:
Escolhendo entre SQL Server 2005 Compact Edition e SQL Server 2005 Express Edition

Na página 8, você tem um bom e grande marca verde ao lado de "armazenamento de arquivos de dados em um compartilhamento de rede".

Assim, parece-me que o seu primeiro pensamento era o caminho certo.

Respondeu 22/04/2009 em 22:18
fonte usuário

votos
4

Por que não usar Server 2005 edição SQL Express ?

Ela realmente depende do que você entende por "embedded" - mas você pode redistribuir SQLServer2005E com as suas aplicações e o usuário nunca tem que saber que está lá.

Incorporação SQL Server Express em Applications

Incorporação SQL Server Express em aplicações personalizadas

Respondeu 03/08/2008 em 16:34
fonte usuário

votos
2

Você considerou um OODB? Desde as várias alternativas de fontes abertas que eu recomendo db4o (desculpem a promoção do auto :)) que pode rodar tanto incorporados ou no modo cliente / servidor.

Melhor

Adriano

Respondeu 16/05/2010 em 16:18
fonte usuário

votos
2

Há também Valentina . I came E através deste produto quando eu estava trabalhando em algum projeto real Basic. A versão RB é muito bom.

Respondeu 10/08/2008 em 03:55
fonte usuário

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