Domanda

Considera la necessità di sviluppare un'applicazione DB desktop leggera sulle piattaforme Microsoft.

Potrebbe essere fatto abbastanza facilmente con MS Access ma mi piacerebbe poterlo distribuire ad altri e non voglio pagare per una licenza runtime.

Requisiti:

  • facile distribuzione ad altri
  • nessun problema di licenza runtime

Considerazioni e candidati:

  • Base della suite OpenOffice.Le mie preoccupazioni riguardavano la sua stabilità.
  • MySQL + scrivere codice DB personalizzato in C++ o Python o qualsiasi altra cosa sembri una soluzione piuttosto pesante.

Domanda:Quali sono le alternative di database a basso costo o gratuite a MS Access?


Guarda anche: Motori di reporting open source



@Schnapple

Bruceatk ha in qualche modo colpito quello a cui sto pensando;non è tanto il motore DB quanto voglio le altre sottigliezze che Access porta alla festa.Il bel progettista di moduli, il bel motore di reporting ecc.Ma sollevi un ottimo punto sull'ingombro dell'installazione.Ci avevo pensato, ma non ho ancora preso alcuna decisione definitiva su come procedere.Probabilmente sarà comunque qualcosa di abbastanza leggero e un ingombro ridotto per l'installazione sarebbe sicuramente un vantaggio.


@Remou,

No, non sapevo che il runtime di MS Access 2007 fosse gratuito;Grazie per la segnalazione.L'ultima volta che mi sono preso la briga di esaminarla (non ricordo quando) penso che fosse una licenza abbastanza costosa per il runtime perché penso che stessero cercando di venderla ai dipartimenti IT aziendali.

E grazie anche a tutti gli altri che hanno risposto;Ero completamente all'oscuro delle altre opzioni che tutti voi avete sottolineato.

È stato utile?

Soluzione

SQLlite,
Uccello di fuoco,
VistaDB (non gratis),
E Edizione compatta di SQL Server (non espresso)
mi vengono in mente tutti.

Un altro pensiero:mentre la domanda originale riguarda i database desktop, è probabile che alcune persone arrivino qui alla ricerca di un database da utilizzare con un sito web.È importante ricordare che questi sono tutti in corso database e come tali raramente, se non mai, sono adatti per l'uso sul web.Se vuoi costruire un sito web, hai davvero bisogno di un database server motore, come MS SQL, Postgresql, MySQL, Oracle o i loro fratelli.Allo stesso tempo, quelli server i motori sono raramente, se non mai, appropriati per un'applicazione desktop per utente singolo.

Altri suggerimenti

Quando le persone chiedono un sostituto per Access, molti pensano solo al database, ma ciò che realmente chiedono sono tutte le altre funzionalità di Access.Di solito non si preoccupano del database utilizzato da Access.

Alcune delle funzionalità fornite da Access sono:Moduli, creazione di query, report, macro, gestione di database e qualche tipo di linguaggio quando è necessario andare oltre ciò che forniscono le procedure guidate.

SQLite, MySQL e FireBird sono backend di database gratuiti.Non hanno quelle funzioni di accesso aggiuntive integrate.Qualsiasi alternativa gratuita ad Access richiede la combinazione di qualcosa di simile SQLite e un linguaggio di sviluppo.

Probabilmente la migliore opzione gratuita sarebbe SQLite E Visual Basic 2008 o C# 2008 Express Edition.Ciò avrebbe una forte dipendenza dal runtime, quindi l'installazione su un semplice client potrebbe richiedere un programma di installazione piuttosto impegnativo.

In realtà non esiste un'opzione non di accesso gratuita con requisiti minimi di runtime.Vorrei che ci fosse.

Sarò interessato a sapere se qualcuno conosce qualche buona alternativa.

Sei consapevole che il Accedi al runtime 2007 si può scaricare gratuitamente?

Collegamenti per le versioni più recenti:

Schnapple chiede:

Ti riferisci al concetto di un database gratuito da distribuire con un'applicazione o un database "singolo file, nessuna installazione"?

Ehm, nessuno che abbia alcuna competenza con lo sviluppo di applicazioni Access distribuirebbe mai un singolo MDB/ACCDB come archivio di applicazioni/dati.Qualsiasi applicazione Access non banale deve essere suddivisa in un front-end con moduli/query/report (ovvero oggetti dell'interfaccia utente) e un back-end (solo tabelle dati).

È chiaro che ciò che serve qui è uno strumento di sviluppo di applicazioni di database come Access.Nessuna delle risposte solo al database risponde in alcun modo a ciò.

Si prega di informarsi su Access prima di rispondere alle domande su Access:

  • L'accesso è uno strumento di sviluppo dell'applicazione del database che viene fornito con un motore di database predefinito chiamato Jet.

  • Ma è possibile creare un'applicazione di accesso per funzionare con i dati in quasi tutti i database back -end, purché ci sia un ISAM o un driver ODBC o OLEDB per quel motore di database.

La stessa Microsoft ha fatto un buon lavoro nell'offuscare la differenza tra Access (strumento di sviluppo) e Jet (motore di database), quindi non sorprende che molte persone non riconoscano la differenza.Ma gli sviluppatori dovrebbero usare un linguaggio preciso e quando intendi il motore di database, usa "Jet" e quando intendi la piattaforma di sviluppo front-end, usa "Access".

Ad essere onesti, non esistono alternative gratuite a MS Access.Almeno se intendi uno strumento di sviluppo di database (moduli, report, query, supporto VBA ecc.).Se pensi a MS Access come a un motore di database (in effetti intendi MS Jet o ACE) allora sì, hai molte possibilità.Esistono molti motori di database gratuiti: i più popolari sono MySQL e PostgreSQL.Posso consigliarli entrambi, dipende da cosa vuoi fare.

Per scrivere frontend di database, C++ è una delle scelte peggiori.Dovresti considerare MS Visual C#, MS Visual Basic .NET o...Anche Java/Swing (se parliamo di applicazioni desktop).Se pensi al frontend abilitato per il web, considera PHP (con MySQL o PostgreSQL sul backend) o ASP.NET (con MSSQL Server sul backend).

Ti consiglio vivamente di non utilizzare C++ per tale lavoro.Questo linguaggio è molto efficiente e flessibile, ma lo sviluppo avanzato di frontend di database con C++ non è l'idea migliore.Il C++ è ottimo nella programmazione di sistemi, nello sviluppo di giochi, nelle simulazioni matematiche e fisiche, ovunque l'efficienza sia la chiave, come le applicazioni in tempo reale, ecc.I frontend non devono essere demoni della velocità: dovrebbero avere un bell'aspetto e avere funzionalità avanzate per l'utente finale (come l'ordinamento, la colorazione, ecc.).Se stai cercando strumenti gratuiti, forse C# Express o Visual Basic.NET Express 2008 sarebbero la scelta giusta?O forse Java/Swing (controlla l'IDE NetBeans)?Forse SharpDevelop?Ma non C++...Lascia il C++ per le cose che più si adattano.

Guardare suneido.

Ho realizzato un'app GIS abbastanza complicata come esperimento alcuni anni fa (database, GUI complessa, report, client/server).È stata un'esperienza piacevole (a parte alcuni problemi di documentazione...) e sono diventato produttivo molto velocemente.

Non lo uso più principalmente perché:

  • non è davvero uno scopo generale
  • non è multipiattaforma (solo Windows)
  • Ho deciso di smettere di esplorare tecnologie esotiche e specializzarmi in qualcosa di più mainstream.

Tra le alternative al Software Libero queste non sono ancora state menzionate:

Terrei anche d'occhio gli strumenti DB RAD che la comunità Flex/Air sta mettendo a punto, poiché con questi strumenti è possibile ottenere interfacce desktop e web unificate.

Oracle XE con Application Express.

  • Ha una bella GUI basata sul web,
  • È un database "reale".
  • Sarà scalabile oltre un singolo desktop
  • Offre un percorso su scala chiara che va oltre una piccola squadra
  • Applicazioni basate sul web, facilmente accessibili.
  • Può convertire fogli di calcolo Excel in applicazioni

Potresti voler esaminare SQLite (http://sqlite.org/).Tutto dipende però dal tuo utilizzo.La concorrenza, ad esempio, non è la sua più grande virtù.Ma ad esempio Firefox lo usa per memorizzare le impostazioni ecc.

Il problema è trovare un'alternativa a MS Access che includa un ambiente di sviluppo visivo, drag and drop, con un database "ragionevole" in cui l'intero kit e caboodle possano essere distribuiti gratuitamente.

Il mio primo suggerimento sarebbe di guardare questo elenco molto completo di alternative a MS Access (molti dei quali gratuiti), seguito da un'occhiata a questo elenco di strumenti di sviluppo di database open source su osalt.com.

Il mio secondo suggerimento sarebbe quello di dare un'occhiata a WaveMaker, che è una sorta di PowerBuilder open source per il cloud (disclaimer:Lavoro lì quindi non dovrebbe essere considerato una fonte imparziale di informazioni ;-)

WaveMaker combina un IDE drag and drop con un backend Java open source.È concesso in licenza con la licenza Apache e vanta una comunità di sviluppatori di 15.000 persone.

NuBuilder (www.nubuilder.net) potrebbe essere giusto.

NuBuilder è un'applicazione Web PHP con licenza GPLv3 che richiede MySQL come database backend.Sia gli utenti che i programmatori utilizzano l'interfaccia web.

Lo promuovono come alternativa gratuita a MS Access basata sul web.Sto creando la mia seconda applicazione NuBuilder in questi giorni.NuBuilder sembra essere sviluppato molto attivamente e l'ho trovato stabile e ben documentato (a condizione che tu possa sopportare tutorial video).

Nel contesto di un forum di programmazione, di solito non pensiamo che il programmatore abbia bisogno anche della parte applicativa del database.Normalmente a programmatore desidera utilizzare il proprio ambiente di sviluppo per la logica aziendale e il front-end e utilizzare solo le funzionalità di archiviazione, query, recupero ed elaborazione dei dati del database.

Se vuoi davvero tutte queste altre cose, allora stai parlando di un ambiente di runtime molto più ampio e complicato.Non troverai più nulla che sia "leggero".Anche lo stesso MS Access non è più idoneo, perché non è affatto leggero.È solo una fortuna che molti utenti potrebbero già averlo e farcela apparire essere leggero.

Questo non significa che non troverai nulla.Solo che probabilmente non avrà lo stesso livello di maturità o distribuzione di Access, soprattutto perché il motore di accesso sottostante è già integrato in Windows.

VistaDB dispone di una versione Express gratuita e compatibile con sintassi e driver con SQL Server.VistaDB è un singolo file e richiede solo il driver .dll per funzionare nel tuo progetto asp.net o winforms.

Poiché è compatibile con la sintassi e l'origine dati, è possibile eseguire l'aggiornamento a SQL Server, se necessario.

dal loro sito:

VistadB è applicazioni ASP.NET e WINFORMS completamente gestite e Tysafe utilizzando C#, VB.NET e altre lingue conformi a CLR.

VistaDB.net

Hai menzionato Python, hai considerato Dabo?

http://dabodev.com/

Ciò eviterebbe gran parte del lavoro duro in un'app personalizzata.

La licenza runtime di Access non è mai stata così costosa: il costo per gli strumenti/estensioni per sviluppatori è stato di circa $ 300 da quando ricordo (che risalirebbe addirittura a Access 2 Developers Toolkit, o ADT), ma quello ti dà la possibilità di distribuire la tua app con il runtime a un numero illimitato di utenti.Finché la tua app runtime fosse stata utilizzata da tre o più utenti, avresti risparmiato denaro (presupponendo un costo di $ 100/utente per installare una copia completa di Access).

Il runtime di Access 2007 è completamente gratuito, ma in realtà il costo precedente non era poi così elevato.

Marc Gravell ha aggiunto (in quello che avrebbe dovuto essere un commento, secondo me):
Essere gratuiti, tuttavia, è certamente un incoraggiamento per le persone a provarlo, cosa che il prezzo di $ 300 avrebbe davvero scoraggiato.

Ti riferisci al concetto di database gratuito da distribuire con un'applicazione o di database "file singolo, nessuna installazione" tipo Access?

Ad esempio, cose come SQL Server Express Edition richiedono l'installazione di runtime, la creazione e il montaggio di database, voci nel menu Start che le persone non riconoscono (l'altro giorno mia moglie ha chiesto perché SQL Server era sul suo laptop) mentre un database di Access può essere eseguito in un singolo file.

Immagino che quello che sto chiedendo sia: vuoi pensare al database come a un documento su cui scrivi o come a un'istanza di qualcosa sul computer di qualcun altro?

Che ne dici di r:Base?Molto tempo fa r:Base era un RDMBS DOS (poi Windows) molto robusto e questo è il periodo pre-Access / pre-Paradox.Il suo concorrente più vicino era dBase, ma all'epoca non era completamente relazionale.Ho sviluppato alcune applicazioni r:Base molto carine E, come Access oggi, avevo un generatore di report integrato, funzionalità di moduli, query e manipolazione di tabelle.Con mia sorpresa, è ancora vivo! http://www.rbase.com/ Sembra che abbia tutte le offerte di accesso.Potrebbe essere qualcosa da considerare.

Kexi 2007.1.1 potrebbe essere quello che stai cercando.

La sua versione express è gratuita ma la dimensione del DB è limitata.La versione completa costa $72.

La descrizione dalla sua home page:Kexi è un'applicazione facile da usare per la progettazione visiva di database per Linux e MS Windows.Kexi compete con MS Access, FoxPro, Oracle Forms e FileMaker.

Visita http://www.kexi-project.org/about.html per dettagli.

Che dire di Visual Studio Express di Microsoft?http://www.microsoft.com/express/default.aspxAnche SQL Server Express è a quel collegamento...

Apache Derby è una bella alternativa al database.

Controlla anche http://www.sagekey.com/installation_access.aspx per ottimi script di installazione per Ms Access.Inoltre, se hai bisogno di integrare immagini nella tua applicazione, controlla DBPix su ammara.com

Molto in linea con la risposta di Aurelio, ora lavoro in Ruby on Rails su alcune applicazioni che in precedenza avrei potuto eseguire in MS Access.Il database back-end per un'app Rails.di solito è MySql (funziona abbastanza bene ed è disponibile sulla maggior parte degli hosting Web condivisi) o PostgreSQL (la scelta migliore quando possibile).

Quello che sembra che tu stia cercando non è solo un programma di database, ma un database con moduli, report, ecc. (sostanzialmente una sorta di IDE).Consiglierei di provare OpenOffice.org Base, fornito con la suite per ufficio.È gratuito e open source.Non è neanche lontanamente raffinato come Access, ma fa più o meno le stesse cose.

Inoltre, se conosci l'accesso, sarà almeno in qualche modo familiare.

http://www.openoffice.org/

MODIFICARE:Siamo spiacenti, non ho letto che stai considerando OpenOffice.org.Per quanto riguarda la stabilità, mi è capitato che si bloccasse e facesse alcune cose "strane" mentre ci giocavo, ma Access ha fatto la stessa cosa.Il modo migliore per scoprirlo è giocarci un po’ e vedere se ti va bene.

Penso che il database incluso con OpenOffice.org contenga il progettista di moduli.Non ho mai provato a scrivere il codice per questo però.Un post sul forum che ho visto conteneva un collegamento a un tutorial che dicevano contenesse del codice.

Ho iniziato a creare un database per mia moglie e l'interfaccia si è rivelata piuttosto buona, per quanto ne sapevo.

Tutorial su oooForum.org

Avrei il tuo stesso problema.Avevo un'applicazione MS Access ma volevo passare a un'applicazione web accessibile a tutti e senza pagare soldi a MS.Quindi ho deciso di utilizzare MySql e Wavemaker (open source) per ottenere l'ambito... Sono molto felice di questa decisione.e questo è il risultato http://www.mara-database.org/

per sqlite, controlla l'estensione Firefox.Offre una GUI funzionale.

VistaDB è l'unica alternativa se intendi eseguire il tuo sito Web su hosting condiviso (quasi tutti non ti consentono di eseguire i tuoi siti Web in modalità Full Trust) e anche se hai bisogno di un semplice sito Web abilitato per la distribuzione x-copy.

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