Database SQL leggero che non richiede installazione

Potresti raccomandare un database SQL leggero che non richieda l’installazione su un computer client per funzionare e possa essere facilmente accessibile dall’applicazione .NET? Sono necessarie solo le funzionalità SQL di base.

Ora sto usando il database Access in progetti semplici e distribuisco file .MDB e .EXE insieme. Alla ricerca di eventuali alternative.

Dipende da cosa intendi per leggero. Facile su Ram? O un file db più leggero? O connettore più leggero per connettersi a db? O meno file su tutto? Darò un confronto di ciò che so:

no of files cumulative size of files db size Firebird 2.5 5 6.82 MB 250 KB SqlServerCe 4 7 2.08 MB 64 KB Sqlite 3.7.11.0 1 0.83 MB 15 KB VistaDb 4.3.3.34 1 1.04 MB 48 KB no of files - includes the .net connector and excludes the db file 

I dbs sono di 1 tabella con 2 colonne e 2 righe. Prendi la dimensione db con un pizzico di sale in quanto i dbs potrebbero crescere in modo diverso con un ulteriore utilizzo. Ad esempio, SqlServerCe sebbene inizialmente fosse a 64 KB, non è cresciuto affatto dopo aver aggiunto alcune centinaia di record, mentre VistaDb cresciuto facilmente da 48 a 72 a 140 KB. SQLite è stato il migliore al riguardo, partito dal più basso e cresciuto linearmente.

Pochi aneddoti: ho avuto prestazioni migliori usando SqlServerCe con le impostazioni di fabbrica, il che significa che è più facile iniziare il gioco senza alcuna configurazione, mentre ho trovato Firebird un po ‘più difficile da avviare a causa della mancanza di materiale online. Firebird come potevo leggere aveva la più ampia compatibilità standard di SQL. Mentre VistaDb è scritto in C # completamente gestito, il che significa che può essere unito con l’assembly della tua applicazione per avere un singolo file, mi è sembrato più lento. Di tutti, considerando le prestazioni, la facilità e la dimensione, ho scelto SQLite. SqlServerCe sarebbe la mia seconda scelta.

In breve, ognuno ha i suoi vantaggi e svantaggi. Di nuovo, prendi il mio sfogo con un pizzico di sale, è solo la mia esperienza personale.

Controlla SQLite , è una libreria software che implementa un motore di database SQL transazionale, autonomo, senza server, a configurazione zero.

Ha molti wrapper per .NET

In che modo SQL Server 3.5 / 2008 Compact Edition? Una versione incorporata di SQL Server.

http://www.microsoft.com/Sqlserver/2008/en/us/compact.aspx

Funziona molto bene con .NET, e ovviamente tutti gli strumenti e gli script di SQL Server funzionano correttamente.

Si può guardare VistaDB se si scrive in .NET. È un codice gestito al 100%, contiene integrità referenziale reale, processi di memorizzazione di tsql, processi di clr e molto altro in un unico assembly che è ansible distribuire xcopy.

VistaDB viene eseguito in siti di hosting condiviso su asp.net con un livello medio di attendibilità e in domini di directory attivi come guest (senza autorizzazioni locali).

Non sono richieste impostazioni di registro o altre impostazioni di configurazione sulla macchina su cui viene distribuito il motore e il runtime è privo di royalty.

Il supporto 32/64 bit è incluso nel singolo assieme. I motori in modalità mista con codice non gestito in genere richiedono la spedizione di più di una versione del codice non gestito per supportare 32 e 64 bit o la ricompilazione per specifici target CPU.

Vedi i vantaggi del thread VistaDB SO per maggiori informazioni.

http://www.vistadb.net

SQLite è fantastico.

Controlla anche Firebird incorporato. Potrebbe essere un’opzione migliore se più utenti hanno bisogno di accedere al database in futuro.

È ansible memorizzare i dati come file JSON. Se hai bisogno che sia stand-alone, ci sono soluzioni dll come IODB e LiteDB

SQLite sarà ciò che stai cercando