很好的免费选择MS Access

时间:2022-03-06 15:36:47

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

考虑一下在Microsoft平台上开发轻量级桌面DB应用程序的必要性。

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.

使用MS Access可以很容易地完成它,但是我希望能够将它分发给其他人,我不想为运行时许可证付费。

Requirements:

要求:

  • easy distribution to others
  • 简单分配给其他人
  • no runtime licensing issues
  • 没有运行时许可证问题

Considerations and Candidates:

注意事项和候选人:

  • Base from the OpenOffice suite. My concerns were around its stability.
  • 基于OpenOffice套件。我担心的是它的稳定性。
  • MySQL + writing custom DB code in C++ or Python or whatever seems like a rather heavy-handed solution.
  • MySQL +用c++或Python编写定制的DB代码,或者其他看起来很费力的解决方案。

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

问:什么是低成本或免费的数据库替代MS访问?


See Also: Open Source Reporting Engines

参见:开源报告引擎。



@Schnapple

@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.

Bruceatk抓住了我的想法;与其说它是DB引擎,不如说是我想要的访问给聚会带来的其他细节。优秀的表单设计人员,优秀的报告引擎等等,但是您确实提出了关于安装占用空间的一个非常好的观点。我已经考虑过了,但是我还没有做出任何确定的决定来决定我要怎么做。无论如何,它可能是相当轻量的东西,并且少量的安装占用肯定是一个优点。


@Remou,

@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.

不,我不知道MS Access 2007运行时是免费的;谢谢你指出这一点。上次我费心去调查它的时候(我不记得是什么时候),我认为它是一个相当昂贵的运行时许可证,因为我认为他们试图把它卖给公司的it部门。

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

感谢所有其他人的响应;我完全没有意识到你们所指出的其他选择。

28 个解决方案

#1


59  

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

SQLlite、Firebird、VistaDB(不是免费的)和SQL Server Compact Edition(不是Express)都出现在脑海中。

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, you really need 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.

另一个想法是:虽然最初的问题确实是关于桌面数据库的,但是很可能有人会在这里登陆,寻找一个与网站相关的数据库。重要的是要记住,这些都是进程内的数据库,因此很少适合在web上使用。如果您想构建一个web站点,那么您确实需要一个数据库服务器引擎,比如MS SQL、Postgresql、MySQL、Oracle或它们的同类。与此同时,这些服务器引擎很少适用于单用户桌面应用程序。

#2


121  

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.

SQLite、MySQL和FireBird是免费的数据库后端。它们没有内置那些附加的访问函数。任何免费的访问替代品都需要您将SQLite和开发语言结合起来。

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.

最好的免费选择可能是SQLite和Visual Basic 2008或c# 2008 Express Edition。这将有大量的运行时依赖项,因此在裸机客户机上安装可能需要大量的安装程序。

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.

如果有人知道更好的替代方案,我很想听听。

#3


67  

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

您知道Access 2007运行时可以免费下载吗?

Links for newer versions:

新版本的链接:

#4


65  

Schnapple asks:

Schnapple问道:

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).

呃,任何具有访问应用程序开发能力的人都不会将单个MDB/ACCDB作为应用程序/数据存储分发。任何非平凡的访问应用程序都需要以表单/查询/报告(即:、UI对象和后端(仅适用于数据表)。

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.

很明显,这里需要的是数据库应用程序开发工具,比如Access。没有一个只针对数据库的答案对它有任何响应。

Please learn about Access before answering Access questions:

在回答访问问题之前,请先了解访问:

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

    Access是一个数据库应用程序开发工具,附带一个名为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.

    但是,只要有一个ISAM,或者数据库引擎的ODBC或OLEDB驱动程序,就可以构建一个访问应用程序来处理几乎任何后端数据库中的数据。

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".

微软自己也很好地混淆了Access(开发工具)和Jet(数据库引擎)之间的区别,所以很多人都不认识这种区别并不奇怪。但是开发人员应该使用精确的语言,当您指的是数据库引擎时,请使用“Jet”,当您指的是前端开发平台时,请使用“Access”。

#5


15  

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.

老实说,除了MS Access,没有其他免费的选择。至少如果您是指数据库开发工具(表单、报告、查询、VBA支持等)。如果您将MS Access看作一个数据库引擎(您指的是MS Jet或ACE),那么是的——您有很多可能。有很多免费的数据库引擎——最流行的是MySQL和PostgreSQL。我可以两者都推荐——这取决于你想做什么。

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).

对于编写数据库,前端c++是最糟糕的选择之一。您应该考虑MS Visual c#、MS Visual Basic .NET或…甚至是Java/Swing(如果我们讨论桌面应用程序)。如果考虑支持web的前端——考虑PHP(后端有MySQL或PostgreSQL)或ASP。NET(后端是MSSQL服务器)。

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.

我强烈建议你不要用c++来做这种工作。这种语言非常高效和灵活,但是使用c++进行高级数据库前端开发并不是最好的方法。c++在系统编程、游戏开发、数学和物理模拟方面非常出色,在任何地方效率都是关键——比如实时应用等等。如果你正在寻找免费的工具-也许c# Express或Visual Basic。NET Express 2008是合适的选择吗?或者是Java/Swing(查看NetBeans IDE)?也许SharpDevelop ?但不是c++……把最适合的东西留给c++吧。

#6


14  

Check out suneido.

查看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.

几年前,我用它做了一个相当复杂的GIS应用程序(数据库、复杂的gui、报告、客户机/服务器)。这是一次愉快的经历(除了一些文档问题…),我很快就变得富有成效。

I don't use it anymore mainly because:

我不再使用它主要是因为:

  • it's not really general purpose
  • 这并不是一般的目的
  • it's not cross platform (windows only)
  • 它不是跨平台的(只有windows)
  • I decided to stop exploring exotic technologies and specialize in something more mainstream.
  • 我决定停止探索奇异的技术,专攻更主流的东西。

#7


9  

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

*软件的替代品还没有提到:

  • Bond
  • 债券
  • Rekall (not sure about the status of the Windows version currently though)
  • Rekall(不确定Windows版本的当前状态)
  • Glom (Windows version under development)
  • Glom(正在开发的Windows版本)

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.

我还将关注Flex/Air社区正在开发的DB RAD工具,因为使用这些工具可以获得统一的桌面和web界面。

#8


8  

Oracle XE With Application Express.

Oracle XE与应用程序Express。

  • Has a nice web based gui,
  • 有一个很好的基于web的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.
  • 应用程序基于web,易于访问。
  • Can convert Excel spread sheets into Applications
  • 可以将Excel扩展表转换为应用程序吗

#9


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..

您可能需要查看SQLite (http://sqlite.org/)。但这一切都取决于你的用法。例如,并发性不是它最大的优点。但是比如火狐用它来存储设置等等。

#10


6  

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

NuBuilder (www.nubuilder.net)可能是对的。

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

NuBuilder是一个gplv3授权的PHP web应用程序,它需要MySQL作为后端数据库。用户和程序员都使用web界面。

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.)

他们将其推广为免费的基于web的MS Access替代方案。我现在正在创建第二个NuBuilder应用程序。NuBuilder似乎开发得非常积极,我发现它很稳定,文档也很丰富(只要你能忍受视频教程)。

#11


5  

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.

如果您真的想要所有这些东西,那么您正在讨论一个更大、更复杂的运行时环境。你再也找不到任何“轻量级”的东西了。即使MS Access本身也不再具备资格,因为它的重量并不轻。幸运的是,很多用户可能已经拥有了它,使它看起来很轻。

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.

这并不意味着你什么都找不到。只是它不太可能具有与访问相同的成熟度或分发级别,特别是因为底层的访问引擎已经被嵌入到Windows中。

#12


5  

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.

问题在于找到一种MS访问的替代方案,该方案包括一个可视的、拖放的开发环境和一个“合理的”数据库,在这个数据库中,整个工具包和caboodle可以免费部署。

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.

我的第一个建议是查看这个非常完整的MS访问选项列表(其中许多是免费的),然后是在osalt.com上的开放源码数据库开发工具列表中的一个gander。

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,它是一种针对云的开源PowerBuilder(声明:我在那里工作,所以不应该被认为是一个不带偏见的信息源;)

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.

WaveMaker将拖放IDE与开放源代码Java后端结合在一起。它是在Apache许可下授权的,拥有15000多人的开发社区。

#13


4  

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.

VistaDB有一个可以免费使用的快速版本,它的语法和驱动程序与SQL Server兼容。VistaDB是一个单独的文件,只需要它们的驱动程序.dll在您的asp.net或winforms项目中工作。

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

由于它是语法和数据源兼容的,如果需要,可以升级到SQL Server。

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是一个完全管理和排版的ASP。NET和WinForms应用程序使用c#, VB。NET和其他兼容clr的语言。

VistaDB.net

VistaDB.net

#14


4  

You mentioned Python, have you considered Dabo?

你提到了Python,你考虑过Dabo吗?

http://dabodev.com/

http://dabodev.com/

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

这将避免在定制应用程序中大量繁重的工作。

#15


4  

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).

访问运行时许可从来没有那么昂贵,开发工具/扩展的成本一直在300美元左右,只要我能记得(将追溯到访问2开发者工具包,或ADT),但这使您能够分发应用程序运行时任意数量的用户。只要你的运行时应用被三个或更多的用户使用,你就可以省下一笔钱(假设每个用户安装完整的访问拷贝需要花费100美元)。

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

进入2007年的运行时间是完全免费的,但实际上,之前的成本并不是那么大。

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.

马克·格拉维尔(Marc Gravell)补充道(在我看来,这应该是一种评论):免费当然是鼓励人们尝试一下,而300美元的价格真的会让人望而却步。

#16


3  

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.

,比如SQL Server Express Edition需要安装,诸如运行时数据库创建和安装,对人们的开始菜单条目,他们不会承认(我妻子问为什么SQL Server在她的笔记本电脑有一天)而一个访问数据库可以在一个文件中运行。

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?

我猜我想问的是你想把数据库看成你写的文档还是别人机器上的一个实例?

#17


3  

Kexi 2007.1.1 may be what you are looking for.

Kexi 2007.1.1可能是你想要的。

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

它的快递版本是免费的,但是DB大小有限。完整版耗资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.

主页描述:Kexi是一个用于Linux和MS Windows的可视化数据库设计的简单应用程序。Kexi与MS Access、FoxPro、Oracle Forms和FileMaker竞争。

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

有关详细信息,请访问http://www.kexi-project.org/about.html。

#18


2  

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

那么微软的Visual Studio Express呢?http://www.microsoft.com/express/default.aspx SQL Server Express也在那个链接…

#19


2  

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.

关于r:基地?回到r:Base是一个非常健壮的DOS(然后是Windows) RDMBS,这是预访问/前矛盾的日子。它最接近的竞争对手是dBase,但当时并没有完全的关系。我开发了一些非常好的r:基本应用程序,像今天的Access一样,有内置的报表生成器、表单工具、查询和表操作…令我惊讶的是,它还活着!它似乎得到了所有的访问机会。也许你应该考虑一下。

#20


2  

Apache Derby is a nice db alternative.

Apache Derby是一个不错的db替代品。

#21


2  

Gambas

大阪钢巴

#22


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

还可以查看http://www.sagekey.com/installation_access.aspx,获得用于Ms Access的优秀安装脚本。此外,如果需要将图像集成到应用程序中,请查看ammara.com上的DBPix

#23


2  

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).

与Aurelio的答案非常一致的是,我现在在Ruby on Rails中处理一些应用程序,这些应用程序以前可能是在MS Access中完成的。Rails应用程序的后端数据库通常是MySql(运行良好,可以在大多数共享的Web托管上使用)或PostgreSQL(最好的选择)。

#24


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.

您所寻找的不仅仅是一个数据库程序,而是一个包含表单、报表等的数据库(基本上是某种IDE)。我建议您试试OpenOffice.org Base,它附带office套件。它是免费的、开源的。它远不如access优雅,但它做的几乎是一样的事情。

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

另外,如果你知道access,它至少会有点熟悉。

http://www.openoffice.org/

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.

编辑:抱歉,没能看到你在考虑OpenOffice.org。至于稳定性,当我使用它时,它崩溃了,并做了一些“奇怪”的事情,但是Access也做了同样的事情。找出答案的最好办法是玩一会儿,看看是否适合你。

#25


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.

我认为OpenOffice.org包含的数据库中有表单设计器。但我从未尝试过为它编写代码。我看到的一个论坛帖子有一个链接指向一个教程,他们说里面有一些代码。

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

oooForum.org教程

#26


1  

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/

我也有同样的问题。我有一个MS access应用程序,但是我想去一个每个人都可以访问的web应用程序,而不用付钱给MS,所以我决定使用MySql和Wavemaker(开放源码)来获取范围。我对这个决定很高兴。结果是http://www.mara-database.org/

#27


0  

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

对于sqlite,请查看firefox扩展。它提供了一个可服务的GUI。

#28


-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.

如果你想在共享主机上运行你的网站,VistaDB是唯一的选择(几乎所有的共享主机都不允许你在完全信任模式下运行你的网站),如果你需要一个简单的x-copy部署网站,VistaDB也是唯一的选择。

#1


59  

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

SQLlite、Firebird、VistaDB(不是免费的)和SQL Server Compact Edition(不是Express)都出现在脑海中。

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, you really need 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.

另一个想法是:虽然最初的问题确实是关于桌面数据库的,但是很可能有人会在这里登陆,寻找一个与网站相关的数据库。重要的是要记住,这些都是进程内的数据库,因此很少适合在web上使用。如果您想构建一个web站点,那么您确实需要一个数据库服务器引擎,比如MS SQL、Postgresql、MySQL、Oracle或它们的同类。与此同时,这些服务器引擎很少适用于单用户桌面应用程序。

#2


121  

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.

SQLite、MySQL和FireBird是免费的数据库后端。它们没有内置那些附加的访问函数。任何免费的访问替代品都需要您将SQLite和开发语言结合起来。

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.

最好的免费选择可能是SQLite和Visual Basic 2008或c# 2008 Express Edition。这将有大量的运行时依赖项,因此在裸机客户机上安装可能需要大量的安装程序。

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.

如果有人知道更好的替代方案,我很想听听。

#3


67  

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

您知道Access 2007运行时可以免费下载吗?

Links for newer versions:

新版本的链接:

#4


65  

Schnapple asks:

Schnapple问道:

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).

呃,任何具有访问应用程序开发能力的人都不会将单个MDB/ACCDB作为应用程序/数据存储分发。任何非平凡的访问应用程序都需要以表单/查询/报告(即:、UI对象和后端(仅适用于数据表)。

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.

很明显,这里需要的是数据库应用程序开发工具,比如Access。没有一个只针对数据库的答案对它有任何响应。

Please learn about Access before answering Access questions:

在回答访问问题之前,请先了解访问:

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

    Access是一个数据库应用程序开发工具,附带一个名为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.

    但是,只要有一个ISAM,或者数据库引擎的ODBC或OLEDB驱动程序,就可以构建一个访问应用程序来处理几乎任何后端数据库中的数据。

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".

微软自己也很好地混淆了Access(开发工具)和Jet(数据库引擎)之间的区别,所以很多人都不认识这种区别并不奇怪。但是开发人员应该使用精确的语言,当您指的是数据库引擎时,请使用“Jet”,当您指的是前端开发平台时,请使用“Access”。

#5


15  

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.

老实说,除了MS Access,没有其他免费的选择。至少如果您是指数据库开发工具(表单、报告、查询、VBA支持等)。如果您将MS Access看作一个数据库引擎(您指的是MS Jet或ACE),那么是的——您有很多可能。有很多免费的数据库引擎——最流行的是MySQL和PostgreSQL。我可以两者都推荐——这取决于你想做什么。

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).

对于编写数据库,前端c++是最糟糕的选择之一。您应该考虑MS Visual c#、MS Visual Basic .NET或…甚至是Java/Swing(如果我们讨论桌面应用程序)。如果考虑支持web的前端——考虑PHP(后端有MySQL或PostgreSQL)或ASP。NET(后端是MSSQL服务器)。

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.

我强烈建议你不要用c++来做这种工作。这种语言非常高效和灵活,但是使用c++进行高级数据库前端开发并不是最好的方法。c++在系统编程、游戏开发、数学和物理模拟方面非常出色,在任何地方效率都是关键——比如实时应用等等。如果你正在寻找免费的工具-也许c# Express或Visual Basic。NET Express 2008是合适的选择吗?或者是Java/Swing(查看NetBeans IDE)?也许SharpDevelop ?但不是c++……把最适合的东西留给c++吧。

#6


14  

Check out suneido.

查看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.

几年前,我用它做了一个相当复杂的GIS应用程序(数据库、复杂的gui、报告、客户机/服务器)。这是一次愉快的经历(除了一些文档问题…),我很快就变得富有成效。

I don't use it anymore mainly because:

我不再使用它主要是因为:

  • it's not really general purpose
  • 这并不是一般的目的
  • it's not cross platform (windows only)
  • 它不是跨平台的(只有windows)
  • I decided to stop exploring exotic technologies and specialize in something more mainstream.
  • 我决定停止探索奇异的技术,专攻更主流的东西。

#7


9  

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

*软件的替代品还没有提到:

  • Bond
  • 债券
  • Rekall (not sure about the status of the Windows version currently though)
  • Rekall(不确定Windows版本的当前状态)
  • Glom (Windows version under development)
  • Glom(正在开发的Windows版本)

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.

我还将关注Flex/Air社区正在开发的DB RAD工具,因为使用这些工具可以获得统一的桌面和web界面。

#8


8  

Oracle XE With Application Express.

Oracle XE与应用程序Express。

  • Has a nice web based gui,
  • 有一个很好的基于web的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.
  • 应用程序基于web,易于访问。
  • Can convert Excel spread sheets into Applications
  • 可以将Excel扩展表转换为应用程序吗

#9


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..

您可能需要查看SQLite (http://sqlite.org/)。但这一切都取决于你的用法。例如,并发性不是它最大的优点。但是比如火狐用它来存储设置等等。

#10


6  

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

NuBuilder (www.nubuilder.net)可能是对的。

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

NuBuilder是一个gplv3授权的PHP web应用程序,它需要MySQL作为后端数据库。用户和程序员都使用web界面。

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.)

他们将其推广为免费的基于web的MS Access替代方案。我现在正在创建第二个NuBuilder应用程序。NuBuilder似乎开发得非常积极,我发现它很稳定,文档也很丰富(只要你能忍受视频教程)。

#11


5  

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.

如果您真的想要所有这些东西,那么您正在讨论一个更大、更复杂的运行时环境。你再也找不到任何“轻量级”的东西了。即使MS Access本身也不再具备资格,因为它的重量并不轻。幸运的是,很多用户可能已经拥有了它,使它看起来很轻。

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.

这并不意味着你什么都找不到。只是它不太可能具有与访问相同的成熟度或分发级别,特别是因为底层的访问引擎已经被嵌入到Windows中。

#12


5  

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.

问题在于找到一种MS访问的替代方案,该方案包括一个可视的、拖放的开发环境和一个“合理的”数据库,在这个数据库中,整个工具包和caboodle可以免费部署。

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.

我的第一个建议是查看这个非常完整的MS访问选项列表(其中许多是免费的),然后是在osalt.com上的开放源码数据库开发工具列表中的一个gander。

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,它是一种针对云的开源PowerBuilder(声明:我在那里工作,所以不应该被认为是一个不带偏见的信息源;)

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.

WaveMaker将拖放IDE与开放源代码Java后端结合在一起。它是在Apache许可下授权的,拥有15000多人的开发社区。

#13


4  

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.

VistaDB有一个可以免费使用的快速版本,它的语法和驱动程序与SQL Server兼容。VistaDB是一个单独的文件,只需要它们的驱动程序.dll在您的asp.net或winforms项目中工作。

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

由于它是语法和数据源兼容的,如果需要,可以升级到SQL Server。

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是一个完全管理和排版的ASP。NET和WinForms应用程序使用c#, VB。NET和其他兼容clr的语言。

VistaDB.net

VistaDB.net

#14


4  

You mentioned Python, have you considered Dabo?

你提到了Python,你考虑过Dabo吗?

http://dabodev.com/

http://dabodev.com/

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

这将避免在定制应用程序中大量繁重的工作。

#15


4  

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).

访问运行时许可从来没有那么昂贵,开发工具/扩展的成本一直在300美元左右,只要我能记得(将追溯到访问2开发者工具包,或ADT),但这使您能够分发应用程序运行时任意数量的用户。只要你的运行时应用被三个或更多的用户使用,你就可以省下一笔钱(假设每个用户安装完整的访问拷贝需要花费100美元)。

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

进入2007年的运行时间是完全免费的,但实际上,之前的成本并不是那么大。

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.

马克·格拉维尔(Marc Gravell)补充道(在我看来,这应该是一种评论):免费当然是鼓励人们尝试一下,而300美元的价格真的会让人望而却步。

#16


3  

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.

,比如SQL Server Express Edition需要安装,诸如运行时数据库创建和安装,对人们的开始菜单条目,他们不会承认(我妻子问为什么SQL Server在她的笔记本电脑有一天)而一个访问数据库可以在一个文件中运行。

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?

我猜我想问的是你想把数据库看成你写的文档还是别人机器上的一个实例?

#17


3  

Kexi 2007.1.1 may be what you are looking for.

Kexi 2007.1.1可能是你想要的。

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

它的快递版本是免费的,但是DB大小有限。完整版耗资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.

主页描述:Kexi是一个用于Linux和MS Windows的可视化数据库设计的简单应用程序。Kexi与MS Access、FoxPro、Oracle Forms和FileMaker竞争。

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

有关详细信息,请访问http://www.kexi-project.org/about.html。

#18


2  

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

那么微软的Visual Studio Express呢?http://www.microsoft.com/express/default.aspx SQL Server Express也在那个链接…

#19


2  

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.

关于r:基地?回到r:Base是一个非常健壮的DOS(然后是Windows) RDMBS,这是预访问/前矛盾的日子。它最接近的竞争对手是dBase,但当时并没有完全的关系。我开发了一些非常好的r:基本应用程序,像今天的Access一样,有内置的报表生成器、表单工具、查询和表操作…令我惊讶的是,它还活着!它似乎得到了所有的访问机会。也许你应该考虑一下。

#20


2  

Apache Derby is a nice db alternative.

Apache Derby是一个不错的db替代品。

#21


2  

Gambas

大阪钢巴

#22


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

还可以查看http://www.sagekey.com/installation_access.aspx,获得用于Ms Access的优秀安装脚本。此外,如果需要将图像集成到应用程序中,请查看ammara.com上的DBPix

#23


2  

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).

与Aurelio的答案非常一致的是,我现在在Ruby on Rails中处理一些应用程序,这些应用程序以前可能是在MS Access中完成的。Rails应用程序的后端数据库通常是MySql(运行良好,可以在大多数共享的Web托管上使用)或PostgreSQL(最好的选择)。

#24


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.

您所寻找的不仅仅是一个数据库程序,而是一个包含表单、报表等的数据库(基本上是某种IDE)。我建议您试试OpenOffice.org Base,它附带office套件。它是免费的、开源的。它远不如access优雅,但它做的几乎是一样的事情。

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

另外,如果你知道access,它至少会有点熟悉。

http://www.openoffice.org/

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.

编辑:抱歉,没能看到你在考虑OpenOffice.org。至于稳定性,当我使用它时,它崩溃了,并做了一些“奇怪”的事情,但是Access也做了同样的事情。找出答案的最好办法是玩一会儿,看看是否适合你。

#25


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.

我认为OpenOffice.org包含的数据库中有表单设计器。但我从未尝试过为它编写代码。我看到的一个论坛帖子有一个链接指向一个教程,他们说里面有一些代码。

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

oooForum.org教程

#26


1  

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/

我也有同样的问题。我有一个MS access应用程序,但是我想去一个每个人都可以访问的web应用程序,而不用付钱给MS,所以我决定使用MySql和Wavemaker(开放源码)来获取范围。我对这个决定很高兴。结果是http://www.mara-database.org/

#27


0  

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

对于sqlite,请查看firefox扩展。它提供了一个可服务的GUI。

#28


-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.

如果你想在共享主机上运行你的网站,VistaDB是唯一的选择(几乎所有的共享主机都不允许你在完全信任模式下运行你的网站),如果你需要一个简单的x-copy部署网站,VistaDB也是唯一的选择。