Good Free Alternative To MS Access [closed]
Asked Answered
I

28

105

Consider the need to develop a lightweight desktop DB application on the Microsoft platforms.

It could be done fairly easily with MS Access but I'd like to be able to distribute it to others and I don't want to pay for a runtime license.

Requirements:

  • easy distribution to others
  • no runtime licensing issues

Considerations and Candidates:

  • Base from the OpenOffice suite. My concerns were around its stability.
  • MySQL + writing custom DB code in C++ or Python or whatever seems like a rather heavy-handed solution.

Question: What are the low cost or free database alternatives to MS Access?


See Also: Open Source Reporting Engines



@Schnapple

Bruceatk kind of hit on what I'm thinking of; it's not so much the DB engine as I want the other niceties that Access brings to the party. The nice form designer, the nice reporting engine etc. But you do raise a very good point about the installation footprint. I had considered that but I've not made any firm decisions about which way I'm going with this yet anyway. It'll probably be something fairly lightweight anyway and a small installation footprint would definitely be a plus.


@Remou,

No I was unaware that the MS Access 2007 runtime is free; thanks for pointing that out. The last time I'd bothered to investigate it (I don't remember when it was) I think it was a fairly expensive license for the runtime because I think they were trying to sell it to Corporate IT departments.

And thanks to everyone else who responded as well; I was completely unaware of those other options you all pointed out.

Insufflate answered 26/8, 2008 at 21:57 Comment(3)
All the solutions proposed in the choosen answer are about the back-end (the db itself). There has never been any cost associated to distribution of a jet database ! So this question is a bit confusing on wether pcampbell is looking for a front-end, a back-end, or both.Botanize
@Patrick Honorez, it wasn't pcampbell that asked the question initially; I did. I just converted it to Community Wiki a long time ago and pcampbell was the last person to edit it. I wanted something that would include the backend, visual query and reporting engine. Backend is easy--the visual query and reporting I've never found to any great extent other than Access.Ledeen
I haven't found Access to be unstable, just as long as you have the right JRE. There's also Libre Office Base one can try. While you can import tables from Access, and while you probably don't expect to be able to run VBA in it, you also can't import forms. Aside from that, OOBase is an entirely viable DB (at least for smaller databases with lighter demands).Iconography
C
65

One thing to keep in mind here is the MS Access product is much more than just the raw database engine. It provides a full application development platform, including form and menu designer, client application language and environment (VBA), and report designer. When you take all those things together, MS Access really has no peer.

But for the scope of this question, we're concerned with the raw database engine. With that in mind:

SQLlite,
Firebird,
VistaDB (not free),
SQL Server Compact Edition (not Express)
and now SQL Server LocalDB
all come to mind.

Another thought: while the original question does ask about desktop databases, its likely some people will land here looking for a database to use with a web site. It's important to remember that these are all in-process databases, and as such are rarely if ever appropriate for use on the web. If you want to build a web site, where it's common to need to support significant concurrent access, you generally want a database server engine, like MS SQL, Postgresql, MySQL, Oracle, or their brethren. At the same time, those server engines are rarely if ever appropriate for a single-user desktop application.

Congener answered 26/8, 2008 at 21:59 Comment(7)
...except for Firebird, which straddles the boundary and can be used in either scenario. Good points, though.Ukrainian
SQLite, I love it.Unwise
Why SQL Server Compact Edition and not Express? Is this just because of the size?Advise
@Mark - Express Edition is still a server-class database, and not an in-process database like the others. Read the 2nd part of the answer, and everything there about server engines (including the last sentence) applies to Express Edition.Congener
OK I did not realise the Compact Edition was In Process database. Thanks for pointing that out.Advise
Also note that you can use MySQL Workbench, check it out... mysql.com/products/workbenchBendwise
@TheBumpster That still relies on the MySql Server engine, so would not be a good choice. Also, I no longer consider MySql to be a modern DB engine. It has not kept pace with other options over the last 10 years, and now lags significantly behind on a number of important language features.Congener
W
129

When people ask about a replacement for Access, a lot of them only think about the database, but what they are really asking about are all of the other features in Access. They usually don't care what database Access is using.

Some of the functionality provided by Access are: Forms, Query Building, Reports, Macros, Database Management, and some kind of language when you need to go beyond what the wizards provide.

SQLite, MySQL, and FireBird are free database back ends. They do not have those additional Access functions built into them. Any free alternatives to Access require you combining something like SQLite and a development language.

Probably the best free option would be SQLite and Visual Basic 2008 or C# 2008 Express Edition. This would have a heavy runtime dependency, so installing on a bare client could take quite the installer.

There really isn't a non-Access option for free with minimum runtime requirements. I wish there was.

I'll be interested in hearing if anybody knows any good alternatives.

Welter answered 26/8, 2008 at 23:39 Comment(1)
yes.. people don't realize the power of access as an integerated development environment as you have highlighted... there is nothing free that compares to microsoft access with even most (let alone all) features built-in. when you have access... you can do many things in a fraction of time that requires to achieve through other means... 100% agreed with your answer @WelterCruzeiro
W
69

Are you aware that the Access 2007 runtime can be downloaded for free?

Links for newer versions:

Williamsen answered 26/8, 2008 at 22:2 Comment(1)
I'm pretty sure the Access 2003 runtime licenses weren't free... but yeah... with Access 2007 you don't have to pay for licenses.Unpopular
A
67

Schnapple asks:

Are you referring to the concept of a free database to distribute with an application, or an Access-like "single file, no installation" database?

Er, nobody who has any competence with Access application development would ever distribute a single MDB/ACCDB as application/data store. Any non-trivial Access application needs to be split into a front end with the forms/queries/reports (i.e., UI objects) and a back end (data tables only).

It's clear that what is needed here is a database application development tool like Access. None of the database-only answers are in any way responsive to that.

Please learn about Access before answering Access questions:

  • Access is a database application development tool that ships with a default database engine called Jet.

  • But an Access application can be built to work with data in almost any back end database, as long as there's an ISAM, or an ODBC or OLEDB driver for that database engine.

Microsoft itself has done a good job of obfuscating the difference between Access (development tool) and Jet (database engine), so it's not surprising that many people don't recognize the difference. But developers ought to use precise language, and when you mean the database engine, use "Jet", and when you mean the front-end development platform, use "Access".

Antiscorbutic answered 15/9, 2008 at 21:8 Comment(1)
Technically, David, in Access 2007 and later file versions, it uses an Office-specific version of Jet called the Access Connectivity Engine (ACE).Purposely
C
65

One thing to keep in mind here is the MS Access product is much more than just the raw database engine. It provides a full application development platform, including form and menu designer, client application language and environment (VBA), and report designer. When you take all those things together, MS Access really has no peer.

But for the scope of this question, we're concerned with the raw database engine. With that in mind:

SQLlite,
Firebird,
VistaDB (not free),
SQL Server Compact Edition (not Express)
and now SQL Server LocalDB
all come to mind.

Another thought: while the original question does ask about desktop databases, its likely some people will land here looking for a database to use with a web site. It's important to remember that these are all in-process databases, and as such are rarely if ever appropriate for use on the web. If you want to build a web site, where it's common to need to support significant concurrent access, you generally want a database server engine, like MS SQL, Postgresql, MySQL, Oracle, or their brethren. At the same time, those server engines are rarely if ever appropriate for a single-user desktop application.

Congener answered 26/8, 2008 at 21:59 Comment(7)
...except for Firebird, which straddles the boundary and can be used in either scenario. Good points, though.Ukrainian
SQLite, I love it.Unwise
Why SQL Server Compact Edition and not Express? Is this just because of the size?Advise
@Mark - Express Edition is still a server-class database, and not an in-process database like the others. Read the 2nd part of the answer, and everything there about server engines (including the last sentence) applies to Express Edition.Congener
OK I did not realise the Compact Edition was In Process database. Thanks for pointing that out.Advise
Also note that you can use MySQL Workbench, check it out... mysql.com/products/workbenchBendwise
@TheBumpster That still relies on the MySql Server engine, so would not be a good choice. Also, I no longer consider MySql to be a modern DB engine. It has not kept pace with other options over the last 10 years, and now lags significantly behind on a number of important language features.Congener
J
17

To be honest - there aren't any free alternatives to MS Access. At least if you mean database development tool (forms, reports, queries, VBA support etc.). If you think about MS Access as a database engine (you mean MS Jet or ACE in fact) then yes - you have a lot of possibilities. There are a lot of free database engines - the most popular are MySQL and PostgreSQL. I can recommend both - it depends what you want to do.

For writing database frontends C++ is one of the worst choices. You should consider MS Visual C#, MS Visual Basic .NET or... Even Java/Swing (if we are talking about desktop application). If you think about the web-enabled frontend - consider PHP (with MySQL or PostgreSQL on the backend) or ASP.NET (with MSSQL Server at the backend).

I strongly recommend you not to use C++ for such job. This language is very efficient and flexible, but advanced database frontend development with C++ is not the best idea. C++ is great in system programming, games development, maths and physics simulations, everywhere where efficiency is the key - like real-time applications etc. Frontends don't have to be daemons of speed - they should look nice and have advanced end-user features (like sorting, coloring etc.). If you are looking for free tools - maybe C# Express or Visual Basic.NET Express 2008 would be the proper choice? Or maybe Java/Swing (check the NetBeans IDE)? Maybe SharpDevelop? But not C++... Leave C++ for the things it suits the best.

Jamarjamb answered 26/8, 2008 at 21:57 Comment(0)
C
15

Check out suneido.

I made a fairly complicated GIS app as an experiment with it some years ago (database, complex gui, reports, client/server). It was a pleasant experience (apart from some documentation issues...) and I became productive with it very fast.

I don't use it anymore mainly because:

  • it's not really general purpose
  • it's not cross platform (windows only)
  • I decided to stop exploring exotic technologies and specialize in something more mainstream.
Chrissy answered 15/9, 2008 at 21:26 Comment(0)
B
10

Of the Free Software alternatives these haven't been mentioned yet:

I'd also keep an eye on what DB RAD tools the Flex/Air community is coming up with, since with those tools it's possible to get unified desktop and web interfaces.

Baber answered 18/10, 2008 at 12:21 Comment(2)
Rekall seems to be dead, and Glom seems to be immature and not much used yet. I'd skip the client-server paradigm entirely and go with something web 2.0, like WaveMaker.Smokeproof
Glom doesn't appear to have been updated since 2012, so is probably dead at this point.Renick
K
9

Oracle XE With Application Express.

  • Has a nice web based gui,
  • Is a "Real" database
  • Will scale beyond a single desktop
  • Offers a clear scale path beyond a small team
  • Applications as web based, easily accessible.
  • Can convert Excel spread sheets into Applications
Keto answered 21/9, 2008 at 1:10 Comment(0)
F
7

NuBuilder (www.nubuilder.net) might be right.

NuBuilder is a GPLv3-licensed PHP web application that requires MySQL as backend database. Users and programmers both use the web interface.

They promote it as a free, web based MS Access alternative. I'm creating my second NuBuilder application these days. The NuBuilder seems to be very actively developed, and I found it stable and well documented (provided you can stand video tutorials.)

Faceoff answered 26/8, 2008 at 21:57 Comment(0)
T
7

The issue is finding an alternative to MS Access that includes a visual, drag and drop development environment with a "reasonable" database where the whole kit and caboodle can be deployed free of charge.

My first suggestion would be to look at this very complete list of MS Access alternatives (many of which are free), followed by a gander at this list of open source database development tools on osalt.com.

My second suggestion would be to check out WaveMaker, which is sort of an open source PowerBuilder for the cloud (disclaimer: I work there so should not be considered to be an unbiased source of information ;-)

WaveMaker combines a drag and drop IDE with an open source Java back end. It is licensed under the Apache license and boasts a 15,000-strong developer community.

Torrent answered 26/8, 2008 at 21:57 Comment(3)
I find the evaluations at the cited URL to be quite charitable to the the Access alternatives. None of them really comes very close at all to replicated the feature set of Access. That doesn't mean they are great choices for any number of projects, just that they can't replace everything that Access does. The only platform I know of that comes close is FileMaker, and that is comparatively weak in scripting and data connectivity.Antiscorbutic
That's a good link @C Keene. Thanks for sharing it.Ledeen
I agree with you @David Fenton - MS Access is a very mature and full-featured product. If you want something that does everything MS Access does, then MS Access is the only product that fits the bill. The "right answer" comes down to what particular compromises you are willing to make (e.g., limited scripting or reporting) and what other benefits you get from the new platform (e.g., open source, Java-based etc)Torrent
E
6

You may want to look into SQLite (http://sqlite.org/). All depends on your usage though. Concurrency for example is not its greatest virtue. But for example Firefox uses it to store settings etc..

Emmet answered 26/8, 2008 at 21:59 Comment(0)
C
6

In the context of a programming forum, we don't usually think of the programmer also needing the application portion of the database. Normally a programmer wants to use their own development environment for the business logic and front end, and just use the store, query, retrieval, and data processing capabilities of the database.

If you really want all those other things, then you're talking about a much larger and more complicated run time environment. You're not going to find anything that's 'lightweight' any more. Even MS Access itself no longer qualifies, because it's hardly light weight. It's just lucky in that a lot of users might already have it, making it appear to be light weight.

This doesn't mean you won't find anything. Just that it's not likely to have the same level of maturity or distribution as Access, especially since the underlying access engine is already baked into Windows.

Congener answered 27/8, 2008 at 13:30 Comment(0)
A
6

The Access runtime license has never been all that expensive -- the cost for the developer tools/extensions has been around $300 as long as I can remember (which would be as far back to the Access 2 Developers Toolkit, or ADT), but that gives you the ability to distribute your app with the runtime to an unlimited number of users. As long as your runtime app was used by three or more users, you'd have been saving money (assuming a cost of $100/user to install a full copy of Access).

The runtime for Access 2007 is completely free, but really, the cost before that was not all that great.

Marc Gravell added (in what should have been a comment, in my opinion):
Being free, though, is certainly an encouragement for people to try it out which the $300 price really would have discouraged.

Antiscorbutic answered 16/9, 2008 at 17:53 Comment(0)
H
5

You mentioned Python, have you considered Dabo?

http://dabodev.com/

That would avoid much of the grunt work in a custom app.

Harslet answered 26/8, 2008 at 21:57 Comment(0)
L
5

VistaDB has an express version which is free to use and is syntax and driver compatible with SQL Server. VistaDB is a single file and only requires their driver .dll to work in your asp.net or winforms project.

Since it is syntax and datasource compatible you can upgrade to SQL Server if needed.

from their site:

VistaDB is a fully managed and typesafe ASP.NET and WinForms applications using C#, VB.NET and other CLR-compliant languages.

VistaDB.net

Land answered 5/9, 2008 at 18:26 Comment(0)
K
4

Are you referring to the concept of a free database to distribute with an application, or an Access-like "single file, no installation" database?

As in, things like SQL Server Express Edition require things like runtimes to be installed, databases to be created and mounted, entries on people's Start menus that they won't recognize (my wife asked why SQL Server was on her laptop the other day) whereas an Access database can be run in a single file.

I guess what I'm asking is do you want to think of the database as a document you write to or as an instance of something on someone else's machine?

Kratz answered 5/9, 2008 at 18:30 Comment(0)
D
4

What about r:Base? Way back in the day r:Base was a very robust DOS (then Windows) RDMBS and this is pre-Access / pre-Paradox days. Its closest competitor was dBase but that wasnt fully relational, at the time. I developed some very nice r:Base applications AND, like Access today, had a built in report generator, forms facility, queries and table manipulation.. To my surprise, its still alive! http://www.rbase.com/ Its got all that access offers, it seems. Might be something for you to consider.

Durand answered 21/9, 2008 at 1:6 Comment(4)
Wow I thought r:Base was gone too. Good link Optimal.Ledeen
@SmartMethod, have you any covert tool from RBase (*.rbf) to some other DB, like Access or MSSQL?Biochemistry
@Admiral Land - not in the recent past, no. Its been quite some time. Last one I did was r:Base to MS SQL Server back in early 2010 for a client.Durand
@SmartMethod, i solve my problem,thank you!Biochemistry
T
4

Kexi 2007.1.1 may be what you are looking for.

Its express version is free but DB size limited. Full version cost $72.

The description from its home page: Kexi is an easy to use application for visual database design for Linux and MS Windows. Kexi competes with MS Access, FoxPro, Oracle Forms and FileMaker.

Visit http://www.kexi-project.org/about.html for details.

Tuque answered 13/10, 2008 at 9:33 Comment(0)
A
3

Much in line with Aurelio's answer, I now work in Ruby on Rails on some applications that I might formerly have done in MS Access. The back end database for a Rails App. is usually, MySql (works well enough and is available on most shared Web hosting) or PostgreSQL (the better choice when possible).

Amaty answered 26/8, 2008 at 21:57 Comment(2)
Great to see you, Steve! Haven't heard from in years, and hope you're doing well...I'd love to hear more about your Ruby on Rails experience. I've looked at it and it looks like too big of a commitment to too unwieldy a project (it looks like a big library from my point of view, and thus enforces its own logic -- not literally, but metaphorically).Antiscorbutic
Doing well is relative -- I'll say more about that through other channels soon. Personally, I love Rails and have for years, but I would never claim it is right for everyone. It is a big commitment, but the Ruby language is very powerful and expressive, and is a joy to learn, IMO. Rails is an "opinionated" framework, incorporating a large collection of default of libraries, however many of the libraries are optional and swappable, so it is less restrictive than it might first appear. The Rails community is also really great, which obviously matters a lot.Amaty
L
3

Gambas

Lovel answered 26/8, 2008 at 21:57 Comment(0)
N
3

Apache Derby is a nice db alternative.

Nitrosyl answered 18/10, 2008 at 12:59 Comment(1)
Thanks for the pointer. If anyone wants a link: db.apache.org/derbyLedeen
M
2

What you appear to be looking for is not just a database program, but a database with forms, reports, etc (basically an IDE of sorts). I would recommend trying OpenOffice.org Base, which comes with the office suite. It's free and open source. It's nowhere near as polished as access, but it does pretty much the same things.

Plus, if you know access, it will be at least somewhat familiar.

http://www.openoffice.org/

EDIT: Sorry, failed to read that you are considering OpenOffice.org. With regard to stability, I've had it crash and do some "odd" things when I played with it, but Access has done the same thing. The best way to find out is to play with it a bit and see if it suits you.

Mitra answered 26/8, 2008 at 21:57 Comment(0)
M
2

Also check out http://www.sagekey.com/installation_access.aspx for great installation scripts for Ms Access. Also if you need to integrate images into your application check out DBPix at ammara.com

Manila answered 26/8, 2008 at 21:57 Comment(0)
C
2

I'd the same problem of you. I had a MS access application but I wanted to go to a web application accessible to everybody and without paying money to MS. So I decided to use MySql and Wavemaker (open source) to get the scope..I'm very happy of this decision. and that's the result http://www.mara-database.org/

Cyclo answered 26/8, 2008 at 21:57 Comment(1)
I don't think you're answering the question that was asked.Antiscorbutic
C
2

What about Microsoft's Visual Studio Express? http://www.microsoft.com/express/default.aspx SQL Server Express is also at that link...

Couchant answered 26/8, 2008 at 22:2 Comment(0)
A
1

I think the database included with OpenOffice.org has the form designer in it. I've never tried writing code for it though. A forum post I saw had a link to a tutorial they said had some code in it.

I started to set up a database for my wife and the interface was coming out pretty good as far as I could tell.

oooForum.org tutorial

Adhesive answered 5/9, 2008 at 19:36 Comment(1)
I would love to use the stuff included in OO.0 but the last time I checked it, it was just too primitive to use.Ledeen
S
0

for sqlite, check out the firefox extension. It offers a serviceable GUI.

Smug answered 26/8, 2008 at 22:51 Comment(4)
Isn't this just going to let you manage the database and not actually create a "lightweight Desktop application"?Parrakeet
True, but I think the questioner was asking for the database and not the lightweight desktop application. MSAccess is pretty good at that, harder to replace.Smug
@Christopher Mahan: were exactly do you get the idea from the original questioner's repeated assertions that he's asking about the whole package (particularly front-end development), that he "was asking for the database and not the lightweight desktop application"? The question is quite clear that it's the whole package, so any answer that's database-only is completely wrong for the question.Antiscorbutic
@David: You're right, of course. I've built many many dbs with access. That was my full-time job in 1997-1999. I remember building a module function to automatically relink tables based on the network neighborhood.Smug
D
-1

VistaDB is the only alternative if you going to run your website at shared hosting (almost all of them won't let you run your websites under Full Trust mode) and also if you need simple x-copy deployment enabled website.

Disturb answered 26/8, 2008 at 21:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.