Domanda

Devo creare un'applicazione di database semplice per utente singolo per Windows. I requisiti principali sono l'indipendenza dalla versione di Windows e dal software installato. Quali tecnologie (lingua / framework) consiglieresti? La mia preferenza per la lingua è Visual Basic.

EDIT: che dire di VB.Net e SQL Server Compact Edition?

È stato utile?

Soluzione

Consiglierei Sqlite . È completamente autonomo e dominio pubblico quindi non ci sono problemi di licenza.

Altri suggerimenti

Utente singolo o multiutente?

Per singolo utente, la risposta sarebbe SQLite

Per multiutente (o multithread), prova MySQL o PostgreSQL .

Poiché il tuo requisito è un'applicazione basata su Windows, ti suggerirei di utilizzare SQL Server 2005 Express Edition che è uno strumento gratuito, ma con alcune piccole limitazioni. puoi passare a una versione più grande quando vai con una versione a pagamento.

Esistono altri motori DB come SQL Lite o FireBird, sceglili se le opzioni di supporto e crescita che forniscono sono abbastanza buone per te

Inoltre, Visual Basic ha una vita alta. VB.NET potrebbe essere attualmente una migliore piattaforma basata su Windows. Darebbe una piattaforma / funzionalità migliori per iniziare e quando si desidera espandere il talento che si sta lavorando al progetto, suppongo che il talento .NET possa essere più disponibile rispetto ai programmatori che vogliono lavorare con una lingua morta.

duplicato di What ci sono opzioni per un rapido DB incorporato in .NET?

Ripeterò la mia risposta da lì:

" Oppure c'è Esent, il database integrato che esiste in ogni copia di Windows. Leggi qui: http : //ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx " e http://www.codeplex.com/ManagedEsent

SQLite funzionerà per un'applicazione desktop locale. Se desideri diversi utenti, alcuni gigas di dati e connessioni multiple, utilizzerei mysql o Firebird.

http://www.mysql.com/ http://www.firebirdsql.org/

Il

FireBird SQL sarà la scelta migliore. Può essere utilizzato sia in modalità incorporata che multiutente come i database tradizionali. Implementa molti degli standard SQL e ha una solida base di comunità. È disponibile per Windows, Linux, Solaris, OS X, HP-UX

Come accennato, SQLite è un ottimo database per utente singolo. Questa pagina contiene esempi VB / SQLite . Una delle preoccupazioni è che SQLite analizza i vincoli delle chiavi esterne, ma non li applica. Puoi utilizzare questo codice per generare " trigger di chiavi esterne " per SQLite, ottenendo così un database facile da usare con vincoli FK.

Tuttavia, a seconda delle esigenze del tuo database, potresti prendere in considerazione MS Access.

Ho usato SQL Server Compact Edition. È come sqllite. Accesso a un singolo file SDF tramite ADO.NET. Puoi sviluppare la tua applicazione usando Visual Basic .NET e gestire il tuo database (aggiungi tabelle, colonne, vincoli, ecc ...) usando Visual Studio.

SQLite potrebbe essere quello che stai cercando. http://www.sqlite.org/

A seconda delle esigenze per l'applicazione.

Potresti usare SQLLite che è un database molto carino senza installazione richiesta.

Puoi anche utilizzare Microsoft SQL Server: SQL Server Compact 3.5 .

Entrambi sono gratuiti!

Dal tuo post non è del tutto chiaro se desideri un'applicazione web o meno.

Per un'applicazione Web, MySQL funziona in modo efficace sulla piattaforma Windows. Hai anche opzioni quasi illimitate per l'ambiente di sviluppo tra cui, PHP, Ruby on Rails, Django e .Net.

Se stai guardando un'applicazione desktop, MS Access potrebbe essere adatto ... incredibilmente facile per applicazioni semplici.

Bene, supponendo che tu non abbia alcuna esperienza precedente ...

È necessario un tipo di archiviazione di persistenza (ad esempio un database) e un client. Per l'archiviazione è possibile utilizzare quasi tutto. Ad esempio, potresti creare il tuo DB in MS Access e spedirlo semplicemente come file, usando ADO per accedervi. Altre opzioni sono MS SQL Express Edition (viene preinstallato su alcune macchine o potrebbe essere installato gratuitamente) e numerosi database open source come SQLite

Per il lato client non si poteva sbagliare con VBScript e ADO (usando i driver OLE DB). Vengono con ogni installazione di Windows da Dark Age, avrai un sacco di riferimenti / tutorial / risposte online. Un inconveniente: nessuna UI di cui parlare, quindi dovrai costruire un'interfaccia a riga di comando (che era per un'applicazione "semplice").

Se si desidera creare un'interfaccia utente, suggerirei di utilizzare .NET WinForms. Il sovraccarico sarà sostanzialmente più grande ma .NET è ora installato su tutte le macchine XP / Vista e anche se non lo è, è sempre possibile installare il framework con l'applicazione.

Se vuoi creare un'applicazione che possa passare facilmente ad altri PC, preferisco che Microsoft Access sia un piccolo database facile da usare e senza necessità di installazione. Suite per applicazioni come Addressbook, mini crud system.

Ma se si desidera sviluppare un sistema di database aziendale, utilizzare invece MySQL .

Non capisco cosa intendi con "modulo di indipendenza [...] software installato". Hai mai bisogno almeno del DBMS installato e di un'interfaccia client o utente.

Consiglio di usare MS Access. È facile ed economico per attività semplici per singolo utente e per lo sviluppo di prototipi rapidi. Per creare i DB è necessario acquistare solo la versione di sviluppo ("accesso normale"). La versione runtime di Access 2007 può essere scaricata gratuitamente dalla Microsoft Homepage, per utilizzare solo il database creato.

Inoltre combina DBMS e frontend GUI nello stesso strumento.

Oserei menzionare MS Access ...?

Se stai cercando un ingombro ridotto (fino a pochi MB) e una distribuzione semplice (l'utente finale deve installare l'applicazione solo per farlo funzionare), allora le tue opzioni sono SQLite e Firebird incorporati.

Di questi due, sceglierei Firebird in qualsiasi momento, a causa del suo pieno supporto per SQL (non puoi, ad esempio, eliminare una colonna in SQLite), la conformità ACID e la capacità di passare client / server senza alcun cambia (basta cambiare la stringa di connessione da incorporata a server) al codice se decidi di consentire a più utenti di lavorare sullo stesso database.

Per non parlare del fatto che è possibile utilizzare il server completo per lo sviluppo (il che significa che l'applicazione e lo strumento di amministrazione del database possono essere collegati al database contemporaneamente).

Sto usando con successo Turbo Delphi (gratuito per uso commerciale e non commerciale) + ZeosLib (zeos.firmos.at).

Le uniche cose che devi distribuire con il tuo .exe sono le dll del client del database (non è necessario installare il client, inserisci le dll nella stessa directory).

Kexi funzionerebbe?

Posso consigliarmi per esperienza personale " Il mio database Visual " gratuito, senza codice, senza sql, basta trascinare e rilasciare.

http://myvisualdatabase.com/

La migliore opzione sarebbe quella di creare un'applicazione nativa Win32 utilizzando Delphi e usa SQLLite come database.

Il motivo per cui Delphi può produrre applicazioni win32 native senza che nessun altro prodotto sia installato sulla macchina.

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