Domanda

Costruirò un set di applicazioni. Una di queste app è un'applicazione automatica (scritta in VB6) che scriverà i dati che riceve da varie fonti in un database locale. Tutte le altre applicazioni (saranno scritte in VS 2008 / c # 3.0) leggeranno questi dati principalmente per motivi di segnalazione.

Non voglio SQL Server / MySql / Sybase o anche le sue edizioni express, perché la distribuzione è un problema (ad es. richiede un'installazione separata, ecc ...). Sto cercando un database locale che disponga di driver sia per VB6 (quindi probabilmente OLEDB o ODBC se devo accontentarmi di esso) sia per ADO.NET. Sarebbe anche bello se il database avesse supporto per ORM, come NHibernate o almeno 1 a 1 mapper, come Subsonic, ma non è un affare. Ma il mio requisito principale è che il database sia estremamente solido, in modo da non dover perdere tempo a giocherellare con esso, recuperare i dati persi, ecc ...

Ho esperienza con MS Access dal passato e non ho troppi ricordi positivi (né era male neanche). Ho sentito parlare di SQLite, SQL Server Compact Edition, VistaDB, ecc ... ma non ho esperienza con loro e non conosco nessuno che l'abbia effettivamente utilizzato.

Cosa c'è là fuori che si adatta meglio alla mia situazione?

È stato utile?

Soluzione

SQLite potrebbe essere adatto al conto. Assicurati di controllare anche tutti i wrapper disponibili .

Altri suggerimenti

Hai pensato a FireBird SQL ?

Consiglierei SQLite a meno che il database. Ho esperienza nell'usarlo ed ero nelle stesse scarpe che eri. Il progetto System.Data.Sqlite è davvero bello e supportano ADO.net 2.0 e tutta quella fantasia. Attualmente stanno lavorando per ottenere il supporto completo Linq anche sul wrapper. Lo consiglio per i seguenti motivi.

  1. Ingombro ridotto: il motore ha solo 700 KB o meno.
  2. Scalabile: può gestire database abbastanza grandi. Ordine dei GB. Qualcosa di più grande di questo probabilmente richiederà un motore di database basato su server con MOLTE RAM.
  3. Durevole: la loro suite di test supera la maggior parte del codice ed è stato dimostrato che funziona su molte applicazioni commerciali come l'iPhone
  4. Veloce: questo motore ha pochissime spese generali.
  5. Attuale - Il progetto .NET è molto aggiornato con l'ultima tecnologia .NET 3.5 che Microsoft sta aggiornando.
  6. Portatile: può usarlo su sistemi embedded o desktop.

Controlla il progetto System.Data.Sqlite qui http://sqlite.phxsoftware.com/

Dai un'occhiata a Advantage Database Server. Ha un'opzione di installazione silenziosa, ha un ingombro molto ridotto ed è facile da mantenere. Ha un sacco di supporto client: ODBC, OLE DB, provider di dati .net, jdbc, dbi, php, ecc. Motore locale gratuito royalty (solo una dll che viene eseguito in-process con la tua applicazione), client / server economico, SQL e accesso diretto alla tabella di navigazione.

The DevZone

SQL Server Compact Edition è in-proc, quindi non c'è nulla di separato da installare.

Non ho molta esperienza con SQLite , ma l'ho usato un po '. È utilizzato in LOTTO di situazioni e applicazioni. Ci sono davvero centinaia di piccoli DB là fuori ma raccomanderei almeno SQLite come punto di partenza.

Posso garantire VistaDB. Un altro database che potresti voler consultare è Blackfish

SQLite ha un impatto molto basso e MOLTO ben scritto. È perfetto per un database client locale

SQLite come altri hanno menzionato con il SQLite.net provider ADO.net, per un facile accesso a .NET ad esso.

Ho usato ScimoreDB e ho scritto il mio appender per log4net, per la mia applicazione. Hanno avuto risultati contrastanti e ho trascorso molto tempo a cercare di ottenere la documentazione per far funzionare le cose secondo le esigenze.

Mi sto muovendo verso SqlLite e c'era un collegamento fluttuante sull'uso di SubSonic con SqlLite.

È possibile utilizzare SQL Server come database locale collegandosi direttamente a un file di database. Ma ciò richiede l'installazione di sql server express.

Guarda l'impostazione predefinita di ASP.Net con un provider di appartenenze. Creerà un database basato su file locale per il sito Web.

Usando questo approccio potresti essere ok dato che puoi usare tutti i tuoi strumenti familiari durante lo sviluppo.

EDIT:
Ho appena notato il tag incorporato. Se si desidera eseguire l'app su dispositivi Windows CE, è possibile optare per SQL Server Compact . Non supporta le stored procedure AFAIK ma supporta la maggior parte delle altre funzionalità di SQL Server.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top