Bonne alternative gratuite à MS Access [fermé]

102

Considérez la nécessité de développer une application de base de données de bureau légère sur les plates-formes Microsoft.

Cela pourrait être fait assez facilement avec MS Access mais j'aimerais pouvoir le distribuer à d'autres et je ne veux pas payer pour une licence d'exécution.

Exigences:

  • distribution facile aux autres
  • pas de problèmes de licence d'exécution

Considérations et candidats:

  • Base de la suite OpenOffice . Mes préoccupations concernaient sa stabilité.
  • MySQL + écrire du code DB personnalisé en C ++ ou Python ou quoi que ce soit semble être une solution plutôt lourde.

Question : Quelles sont les alternatives de base de données gratuites ou peu coûteuses à MS Access?


Voir aussi: moteurs de rapports Open Source



@Schnapple

Bruceatk a en quelque sorte touché ce à quoi je pense; ce n'est pas tant le moteur DB que je veux les autres subtilités qu'Access apporte à la fête. Le concepteur de formulaire sympa, le moteur de reporting sympa, etc. Mais vous soulevez un très bon point sur l'empreinte de l'installation. J'avais envisagé cela, mais je n'ai pas encore pris de décision ferme sur la direction dans laquelle je vais de toute façon. Ce sera probablement quelque chose d'assez léger de toute façon et une petite empreinte d'installation serait certainement un plus.


@Remou,

Non, je n'étais pas au courant que le runtime MS Access 2007 est gratuit; Merci d'avoir fait remarquer cela. La dernière fois que je me suis donné la peine d'enquêter (je ne me souviens plus quand), je pense que c'était une licence assez chère pour le runtime car je pense qu'ils essayaient de la vendre aux services informatiques de l'entreprise.

Et merci à tous ceux qui ont également répondu; J'ignorais complètement ces autres options que vous avez toutes mentionnées.

casperOne
la source
3
Toutes les solutions proposées dans la réponse choisie concernent le back-end (la base de données elle-même). Il n'y a jamais eu de coût associé à la distribution d'une base de données de jet! Donc, cette question est un peu déroutante si pcampbell recherche un front-end, un back-end ou les deux.
Patrick Honorez
1
@Patrick Honorez, ce n'est pas pcampbell qui a posé la question au départ; J'ai fait. Je viens de le convertir en Community Wiki il y a longtemps et pcampbell a été la dernière personne à le modifier. Je voulais quelque chose qui inclurait le moteur de backend, de requête visuelle et de reporting. Le backend est facile - la requête visuelle et les rapports que je n'ai jamais trouvés dans une large mesure autre qu'Access.
Onorio Catenacci
Je n'ai pas trouvé Access instable, tant que vous avez le bon JRE. Il y a aussi Libre Office Base que l'on peut essayer. Bien que vous puissiez importer des tables depuis Access, et même si vous ne vous attendez probablement pas à y exécuter VBA, vous ne pouvez pas non plus importer de formulaires. En dehors de cela, OOBase est une base de données entièrement viable (au moins pour les petites bases de données avec des demandes plus légères).
CodeLurker

Réponses:

61

Une chose à garder à l'esprit ici est que le produit MS Access est bien plus qu'un simple moteur de base de données brut. Il fournit une plate-forme complète de développement d'applications, y compris le concepteur de formulaires et de menus, le langage et l'environnement d'application client (VBA) et le concepteur de rapports. Lorsque vous prenez toutes ces choses ensemble, MS Access n'a vraiment aucun pair.

Mais pour la portée de cette question, nous sommes concernés par le moteur de base de données brute. Dans cet esprit:

SQLlite ,
Firebird ,
VistaDB (non gratuit),
SQL Server Compact Edition (pas Express)
et maintenant SQL Server LocalDB
viennent tous à l'esprit.

Une autre pensée: bien que la question initiale pose des questions sur les bases de données de bureau, il est probable que certaines personnes atterriront ici à la recherche d'une base de données à utiliser avec un site Web. Il est important de se rappeler que ce sont toutes des bases de données en cours de traitement et qu'en tant que telles, elles sont rarement, voire jamais appropriées, pour une utilisation sur le Web. Si vous souhaitez créer un site Web, où il est courant de devoir prendre en charge un accès simultané important, vous souhaitez généralement un moteur de serveur de base de données , tel que MS SQL, Postgresql, MySQL, Oracle ou leurs frères. Dans le même temps, ces moteurs de serveur sont rarement, voire jamais, appropriés pour une application de bureau mono-utilisateur.

Joel Coehoorn
la source
... sauf pour Firebird, qui chevauche la frontière et peut être utilisé dans les deux scénarios. Bons points, cependant.
user60401
7
SQLite, je l'adore.
Alix Axel
Pourquoi SQL Server Compact Edition et non Express? Est-ce juste à cause de la taille?
Mark3308
@Mark - Express Edition est toujours une base de données de classe serveur, et non une base de données en cours comme les autres. Lisez la 2ème partie de la réponse, et tout ce qui s'y trouve sur les moteurs de serveur (y compris la dernière phrase) s'applique à Express Edition.
Joel Coehoorn
OK, je ne savais pas que l'édition compacte était une base de données en cours de traitement. Merci d'avoir fait remarquer cela.
Mark3308
127

Lorsque les gens demandent un remplacement pour Access, beaucoup d'entre eux ne pensent qu'à la base de données, mais ce qu'ils demandent vraiment, ce sont toutes les autres fonctionnalités d'Access. Ils ne se soucient généralement pas de la base de données utilisée par Access.

Certaines des fonctionnalités fournies par Access sont: les formulaires, la création de requêtes, les rapports, les macros, la gestion de bases de données et un certain type de langage lorsque vous devez aller au-delà de ce que les assistants fournissent.

SQLite , MySQL et FireBird sont des back-ends de base de données gratuits. Ils n'ont pas ces fonctions d'accès supplémentaires intégrées. Toute alternative gratuite à Access nécessite que vous combiniez quelque chose comme SQLite et un langage de développement.

La meilleure option gratuite serait probablement SQLite et Visual Basic 2008 ou C # 2008 Express Edition . Cela aurait une forte dépendance d'exécution, donc l'installation sur un client nu pourrait prendre tout le programme d'installation.

Il n'y a vraiment pas d'option gratuite sans accès avec des exigences minimales d'exécution. J'aurais aimé qu'il y en ait.

Je serai intéressé à savoir si quelqu'un connaît de bonnes alternatives.

bruceatk
la source
5
oui .. les gens ne se rendent pas compte de la puissance de l'accès en tant qu'environnement de développement intégré comme vous l'avez souligné ... il n'y a rien de gratuit qui se compare à l'accès Microsoft avec même la plupart (et encore moins toutes) fonctionnalités intégrées. lorsque vous y avez accès ... vous pouvez faire beaucoup de choses en une fraction de temps qui nécessite d'autres moyens ... 100% d'accord avec votre réponse @bruceatk
ihightower
69

Savez-vous que le runtime Access 2007 peut être téléchargé gratuitement?

Liens pour les versions plus récentes:

Fionnuala
la source
2
Je suis presque sûr que les licences d'exécution d'Access 2003 n'étaient pas gratuites ... mais oui ... avec Access 2007, vous n'avez pas à payer pour les licences.
Brett G
68

Schnapple demande:

Faites-vous référence au concept d'une base de données gratuite à distribuer avec une application, ou d'une base de données "fichier unique, pas d'installation" de type Access?

Euh, personne qui a une compétence avec le développement d'applications Access ne distribuerait jamais un seul MDB / ACCDB comme magasin d'applications / de données. Toute application Access non triviale doit être divisée en un frontal avec les formulaires / requêtes / rapports (c'est-à-dire, des objets d'interface utilisateur) et un back-end (tables de données uniquement).

Il est clair que ce qu'il faut ici, c'est un outil de développement d'applications de base de données comme Access. Aucune des réponses de la base de données uniquement ne répond en aucune façon à cela.

Veuillez en savoir plus sur Access avant de répondre aux questions relatives à Access:

  • Access est un outil de développement d'applications de base de données fourni avec un moteur de base de données par défaut appelé Jet.

  • Mais une application Access peut être conçue pour fonctionner avec des données dans presque toutes les bases de données dorsales, à condition qu'il existe un pilote ISAM, ou ODBC ou OLEDB pour ce moteur de base de données.

Microsoft lui-même a fait un bon travail pour masquer la différence entre Access (outil de développement) et Jet (moteur de base de données), il n'est donc pas surprenant que beaucoup de gens ne reconnaissent pas la différence. Mais les développeurs doivent utiliser un langage précis, et quand vous parlez du moteur de base de données, utilisez "Jet", et quand vous parlez de la plate-forme de développement frontale, utilisez "Access".

David-W-Fenton
la source
Techniquement, David, dans Access 2007 et les versions de fichier ultérieures, utilise une version de Jet spécifique à Office appelée Access Connectivity Engine (ACE).
Bobort
17

Pour être honnête, il n'y a pas d'alternative gratuite à MS Access. Au moins si vous parlez d'outil de développement de base de données (formulaires, rapports, requêtes, support VBA, etc.). Si vous pensez à MS Access comme un moteur de base de données (vous voulez dire MS Jet ou ACE en fait) alors oui - vous avez beaucoup de possibilités. Il existe de nombreux moteurs de base de données gratuits - les plus populaires sont MySQL et PostgreSQL. Je peux recommander les deux - cela dépend de ce que vous voulez faire.

Pour écrire des interfaces de base de données, C ++ est l'un des pires choix. Vous devriez envisager MS Visual C #, MS Visual Basic .NET ou ... Même Java / Swing (si nous parlons d'application de bureau). Si vous pensez à l'interface Web, pensez à PHP (avec MySQL ou PostgreSQL sur le backend) ou ASP.NET (avec MSSQL Server en backend).

Je vous recommande fortement de ne pas utiliser C ++ pour un tel travail. Ce langage est très efficace et flexible, mais le développement avancé de l'interface de base de données avec C ++ n'est pas la meilleure idée. C ++ est excellent dans la programmation système, le développement de jeux, les simulations mathématiques et physiques, partout où l'efficacité est la clé - comme les applications en temps réel, etc. fonctionnalités (comme le tri, la coloration, etc.). Si vous recherchez des outils gratuits - peut-être que C # Express ou Visual Basic.NET Express 2008 serait le bon choix? Ou peut-être Java / Swing (vérifiez l'EDI NetBeans)? Peut-être SharpDevelop? Mais pas C ++ ... Laissez C ++ pour les choses qui lui conviennent le mieux.

Pawel Wawrzyniak
la source
15

Découvrez suneido .

J'ai fait une application SIG assez compliquée à titre expérimental il y a quelques années (base de données, interface graphique complexe, rapports, client / serveur). Ce fut une expérience agréable (à part quelques problèmes de documentation ...) et je suis devenu productif très rapidement.

Je ne l'utilise plus principalement parce que:

  • ce n'est pas vraiment un usage général
  • ce n'est pas multiplateforme (Windows uniquement)
  • J'ai décidé d'arrêter d'explorer les technologies exotiques et de me spécialiser dans quelque chose de plus traditionnel.
Toni Ruža
la source
10

Parmi les alternatives du logiciel libre, celles-ci n'ont pas encore été mentionnées:

Je garderais également un œil sur les outils DB RAD proposés par la communauté Flex / Air, car avec ces outils, il est possible d'obtenir des interfaces de bureau et Web unifiées.

Akaihola
la source
1
Rekall semble être mort, et Glom semble être immature et peu utilisé encore. Je sauterais complètement le paradigme client-serveur et choisirais quelque chose de Web 2.0, comme WaveMaker.
Robin Green
1
Glom ne semble pas avoir été mis à jour depuis 2012, il est donc probablement mort à ce stade.
WhatEvil
9

Oracle XE avec Application Express.

  • A une belle interface graphique basée sur le Web,
  • Est une base de données "réelle"
  • Va au-delà d'un seul bureau
  • Offre un chemin d'évolution clair au-delà d'une petite équipe
  • Applications basées sur le Web, facilement accessibles.
  • Peut convertir des feuilles de calcul Excel en applications
Matthew Watson
la source
7

Le problème est de trouver une alternative à MS Access qui inclut un environnement de développement visuel, glisser-déposer avec une base de données «raisonnable» où tout le kit et caboodle peuvent être déployés gratuitement.

Ma première suggestion serait de regarder cette liste très complète d'alternatives MS Access (dont beaucoup sont gratuites), suivie d'un coup d'oeil à cette liste d'outils de développement de bases de données open source sur osalt.com.

Ma deuxième suggestion serait de consulter WaveMaker, qui est une sorte de PowerBuilder open source pour le cloud (avertissement: je travaille là-bas donc ne devrait pas être considéré comme une source d'informations impartiale ;-)

WaveMaker combine un IDE glisser-déposer avec un back-end Java open source. Il est sous licence Apache et possède une communauté de développeurs de 15 000 personnes.

C Keene
la source
Je trouve que les évaluations à l'URL citée sont assez charitables pour les alternatives Access. Aucun d'entre eux n'est vraiment très proche du tout de répliquer l'ensemble des fonctionnalités d'Access. Cela ne signifie pas qu'ils sont d'excellents choix pour un certain nombre de projets, mais simplement qu'ils ne peuvent pas remplacer tout ce qu'Access fait. La seule plate-forme que je connais qui se rapproche est FileMaker, et elle est relativement faible en matière de script et de connectivité des données.
David-W-Fenton
C'est un bon lien @C Keene. Merci de l'avoir partagé.
Onorio Catenacci
Je suis d'accord avec vous @David Fenton - MS Access est un produit très mature et complet. Si vous voulez quelque chose qui fait tout ce que MS Access fait, alors MS Access est le seul produit qui correspond à la facture. La «bonne réponse» dépend des compromis particuliers que vous êtes prêt à faire (par exemple, des scripts ou des rapports limités) et des autres avantages que vous obtenez de la nouvelle plate-forme (par exemple, open source, Java, etc.)
C Keene
7

NuBuilder ( www.nubuilder.net ) a peut-être raison.

NuBuilder est une application Web PHP sous licence GPLv3 qui nécessite MySQL comme base de données backend. Les utilisateurs et les programmeurs utilisent tous deux l'interface Web.

Ils en font la promotion comme une alternative gratuite à MS Access basée sur le Web. Je crée ma deuxième application NuBuilder ces jours-ci. Le NuBuilder semble être développé très activement, et je l'ai trouvé stable et bien documenté (à condition que vous puissiez supporter des didacticiels vidéo.)

shful
la source
6

Vous pouvez consulter SQLite ( http://sqlite.org/ ). Tout dépend de votre utilisation. La concurrence, par exemple, n'est pas sa plus grande vertu. Mais par exemple Firefox l'utilise pour stocker les paramètres, etc.

Till
la source
6

Dans le contexte d'un forum de programmation, nous ne pensons généralement pas que le programmeur ait également besoin de la partie application de la base de données. Normalement un programmeur souhaite utiliser son propre environnement de développement pour la logique métier et le front-end, et simplement utiliser les capacités de stockage, de requête, de récupération et de traitement des données de la base de données.

Si vous voulez vraiment toutes ces autres choses, alors vous parlez d'un environnement d'exécution beaucoup plus grand et plus compliqué. Vous ne trouverez plus rien de «léger». Même MS Access lui-même n'est plus admissible, car il est à peine léger. C'est juste de la chance dans la mesure où de nombreux utilisateurs l'ont déjà, ce qui donne l' impression qu'il est léger.

Cela ne veut pas dire que vous ne trouverez rien. Juste qu'il n'est pas susceptible d'avoir le même niveau de maturité ou de distribution qu'Access, d'autant plus que le moteur d'accès sous-jacent est déjà intégré à Windows.

Joel Coehoorn
la source
6

La licence d'exécution Access n'a jamais été aussi chère - le coût des outils / extensions de développement a été d'environ 300 $ aussi longtemps que je me souvienne (ce qui remonterait à Access 2 Developers Toolkit, ou ADT), mais cela vous donne la possibilité de distribuer votre application avec le runtime à un nombre illimité d'utilisateurs. Tant que votre application d'exécution était utilisée par trois utilisateurs ou plus, vous auriez économisé de l'argent (en supposant un coût de 100 $ / utilisateur pour installer une copie complète d'Access).

Le runtime pour Access 2007 est entièrement gratuit, mais vraiment, le coût avant cela n'était pas si grand.

Marc Gravell a ajouté (dans ce qui aurait dû être un commentaire, à mon avis):
Être libre, cependant, est certainement un encouragement pour les gens à l'essayer, ce que le prix de 300 $ aurait vraiment découragé.

David-W-Fenton
la source
5

VistaDB a une version express qui est gratuite et est compatible avec la syntaxe et le pilote avec SQL Server. VistaDB est un fichier unique et ne nécessite que leur pilote .dll pour fonctionner dans votre projet asp.net ou winforms.

Comme il est compatible avec la syntaxe et la source de données, vous pouvez mettre à niveau vers SQL Server si nécessaire.

depuis leur site:

VistaDB est une application ASP.NET et WinForms entièrement gérée et sécurisée utilisant C #, VB.NET et d'autres langages compatibles CLR.

VistaDB.net

Brian Boatright
la source
5

Vous avez mentionné Python, avez-vous envisagé Dabo?

http://dabodev.com/

Cela éviterait une grande partie du travail grognon dans une application personnalisée.

styro
la source
4

Faites-vous référence au concept d'une base de données gratuite à distribuer avec une application, ou d'une base de données "fichier unique, pas d'installation" de type Access?

Comme dans, des choses comme SQL Server Express Edition nécessitent l'installation de choses comme les environnements d'exécution, la création et le montage de bases de données, des entrées dans les menus Démarrer des personnes qu'ils ne reconnaissent pas (ma femme a demandé pourquoi SQL Server était sur son ordinateur portable l'autre jour) alors qu'une base de données Access peut être exécutée dans un seul fichier.

Je suppose que ce que je demande, c'est que vous voulez penser à la base de données comme un document dans lequel vous écrivez ou comme une instance de quelque chose sur la machine de quelqu'un d'autre?

Tom Kidd
la source
4

Et r: Base? Il y a longtemps, r: Base était un RDMBS DOS (puis Windows) très robuste et il s'agit des jours pré-accès / pré-Paradox. Son concurrent le plus proche était dBase, mais ce n'était pas totalement relationnel à l'époque. J'ai développé de très belles applications r: Base ET, comme Access aujourd'hui, j'avais un générateur de rapports intégré, une fonction de formulaires, des requêtes et des manipulations de tables. À ma grande surprise, c'est toujours vivant! http://www.rbase.com/ Il a toutes les offres d'accès, semble-t-il. Cela pourrait être quelque chose à considérer.

Taptronic
la source
1
Wow, je pensais que r: Base avait disparu aussi. Bon lien Optimal.
Onorio Catenacci
@SmartMethod, avez-vous un outil secret de RBase (* .rbf) à une autre base de données, comme Access ou MSSQL?
Admiral Land le
@Admiral Land - pas dans un passé récent, non. Ça fait pas mal de temps. Le dernier que j'ai fait était r: Base to MS SQL Server au début de 2010 pour un client.
Taptronic le
1
@SmartMethod, je résous mon problème, merci!
Admiral Land le
4

Kexi 2007.1.1 est peut-être ce que vous recherchez.

Sa version express est gratuite mais la taille de la base de données est limitée. La version complète coûte 72 $.

La description de sa page d'accueil: Kexi est une application facile à utiliser pour la conception visuelle de bases de données pour Linux et MS Windows. Kexi est en concurrence avec MS Access, FoxPro, Oracle Forms et FileMaker.

Visitez http://www.kexi-project.org/about.html pour plus de détails.

WhatEvil
la source
3

Apache Derby est une belle alternative à la base de données.

Joshua
la source
Merci pour le pointeur. Si quelqu'un veut un lien: db.apache.org/derby
Onorio Catenacci
3

Gambas

fortran
la source
3

Tout à fait conforme à la réponse d'Aurelio, je travaille maintenant en Ruby on Rails sur certaines applications que j'aurais pu faire auparavant dans MS Access. La base de données principale pour une application Rails. est généralement MySql (fonctionne assez bien et est disponible sur la plupart des hébergements Web partagés) ou PostgreSQL (le meilleur choix lorsque cela est possible).

Steve Jorgensen
la source
Ravi de vous voir, Steve! Je n'en ai pas entendu parler depuis des années, et j'espère que vous allez bien ... J'aimerais en savoir plus sur votre expérience Ruby on Rails. Je l'ai regardé et cela semble être un engagement trop important pour un projet trop lourd (cela ressemble à une grande bibliothèque de mon point de vue, et applique donc sa propre logique - pas littéralement, mais métaphoriquement).
David-W-Fenton
Bien faire est relatif - j'en dirai bientôt plus sur d'autres canaux. Personnellement, j'aime Rails et ce depuis des années, mais je ne prétendrais jamais que c'est bon pour tout le monde. Il est un grand engagement, mais le langage Ruby est très puissant et expressif, et est une joie d'apprendre, l' OMI. Rails est un framework "avisé", incorporant une grande collection de bibliothèques par défaut, cependant beaucoup de bibliothèques sont facultatives et échangeables, donc il est moins restrictif qu'il n'y paraît au premier abord. La communauté Rails est également vraiment géniale, ce qui compte évidemment beaucoup.
Steve Jorgensen
2

J'aurais le même problème de vous. J'avais une application d'accès MS mais je voulais aller sur une application web accessible à tous et sans payer d'argent à MS. J'ai donc décidé d'utiliser MySql et Wavemaker (open source) pour obtenir la portée ... Je suis très heureux de cette décision. et c'est le résultat http://www.mara-database.org/

Aurelio
la source
Je ne pense pas que vous répondiez à la question qui a été posée.
David-W-Fenton
2

Ce que vous semblez rechercher n'est pas seulement un programme de base de données, mais une base de données avec des formulaires, des rapports, etc. (essentiellement un IDE en quelque sorte). Je recommanderais d'essayer OpenOffice.org Base, fourni avec la suite bureautique. C'est gratuit et open source. C'est loin d'être aussi raffiné que l'accès, mais il fait à peu près les mêmes choses.

De plus, si vous connaissez l'accès, ce sera au moins un peu familier.

http://www.openoffice.org/

EDIT: Désolé, impossible de lire que vous envisagez OpenOffice.org. En ce qui concerne la stabilité, je l'ai fait planter et j'ai fait des choses "bizarres" quand j'ai joué avec, mais Access a fait la même chose. La meilleure façon de le savoir est de jouer un peu avec et de voir si cela vous convient.

Biosci3c
la source
1

Je pense que la base de données incluse avec OpenOffice.org contient le concepteur de formulaires. Cependant, je n'ai jamais essayé d'écrire du code pour cela. Un message de forum que j'ai vu contenait un lien vers un tutoriel qui, selon eux, contenait du code.

J'ai commencé à mettre en place une base de données pour ma femme et l'interface sortait plutôt bien pour autant que je sache.

Tutoriel oooForum.org

Knobloch
la source
2
J'adorerais utiliser les éléments inclus dans OO.0 mais la dernière fois que je l'ai vérifié, c'était trop primitif à utiliser.
Onorio Catenacci
0

pour sqlite, consultez l'extension firefox. Il offre une interface graphique utilisable.

Christopher Mahan
la source
Cela ne vous permettra-t-il pas simplement de gérer la base de données et de ne pas créer une "application de bureau légère"?
JeffO
C'est vrai, mais je pense que le questionneur demandait la base de données et non l'application de bureau légère. MSAccess est assez bon à cela, plus difficile à remplacer.
Christopher Mahan
@Christopher Mahan: avez-vous exactement eu l'idée des affirmations répétées du questionneur original qu'il pose des questions sur l'ensemble du paquet (en particulier le développement frontal), qu'il "demandait la base de données et non l'application de bureau légère"? La question est tout à fait claire que c'est l'ensemble du paquet, donc toute réponse qui ne concerne que la base de données est complètement fausse pour la question.
David-W-Fenton
@David: Vous avez raison, bien sûr. J'ai construit de nombreuses bases de données avec accès. C'était mon travail à plein temps en 1997-1999. Je me souviens avoir construit une fonction de module pour relier automatiquement les tables en fonction du voisinage du réseau.
Christopher Mahan
-1

VistaDB est la seule alternative si vous allez exécuter votre site Web sur un hébergement partagé (presque tous ne vous permettront pas d'exécuter vos sites Web en mode Full Trust) et aussi si vous avez besoin d'un simple site Web compatible avec le déploiement x-copy.

Konstantin Tarkus
la source