We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 9 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(10)
这里又为嵌入式 Firebird(以及一般的 Firebird)投票!
我刚刚获得了将 Interbase 6.0 应用程序移植到嵌入式 Firebird 1.5 的一次非常棒的体验;阅读了一小段时间文档后,实际转换花了 20 分钟,现在我的应用程序可以在 Vista 和 Windows 7 中顺利运行。如果您不需要多用户支持,那么我会认真考虑嵌入式 Firebird(如果您确实需要多用户支持,那么为什么不看看常规的 Firebird 呢)。
它是数据库的单个文件和引擎的几个小 DLL,并且易于部署、维护和备份。有许多工具可以在开发过程中提供帮助,而且 Delphi 社区对 IB 和 Firebird 的技术支持是首屈一指的。
SQL 支持非常出色,包括约束、触发器和存储过程(我们还有 UDF 来帮助增强语言 - DLL,可以用 Delphi 编写并在数据库中用作内联函数等。非常快,非常灵活)。
关于性能的最后一点——无论如何,Interbase 总是非常敏捷,到目前为止,我对嵌入式 Firebird 的体验是它“尖叫”——真的非常非常印象深刻。
Another vote here for embedded Firebird (and Firebird in general)!
I've just had an awesome experience porting an Interbase 6.0 app to embedded Firebird 1.5; after a short while reading the docs, the actual conversion took literally 20 minutes and now my app runs happily in Vista and Windows 7. If you don't need multi-user support then I'd seriously look at embedded Firebird (and if you do need multi-user support then why not look at regular Firebird anyway).
It's a single file for the db and a couple of small DLLs for the engine, and it's easy to deploy, maintain and backup. There are any number of tools to help during development and the technical support in the Delphi community for IB and Firebird is second-to-none.
The SQL support is excellent with constraints, triggers and stored procedures (we also have UDFs to help augment the language - DLLs which can be written in Delphi and used as in-line functions etc in your database. Very fast, very flexible).
Your final point about performance - well Interbase was always pretty snappy anyway, and my experience with embedded Firebird thus far is that it 'screams' - really, really impressed.
我在 D2009 下使用了这个 SQLite Wrapper 并取得了良好的成功。我在几分钟之内就完成了它并运行。它具有索引并且开销非常低。 (这个是免费的,除了 SQLite Dll 之外你不需要任何其他东西)
还有一个来自 Delphi Inspiration 并且该网站表示他们还有免费的非商业和教育使用许可证。我没用过那个。
我还使用了嵌入式 Firebird,但是您还需要有连接组件来与其通信。我有 IBObjects,这就是我在服务器和嵌入式版本中使用的。我尝试过其他免费的 Firebird 数据库组件,但还没有真正找到我喜欢的或我有信心的组件。
[编辑]
由于大多数人都建议使用 Firebird,因此以下是我过去尝试过或听说过的一些 Firebird 连接组件:
Mercury 数据库对象 - 免费/开源
IBObjects - 商业版(我自己买了这个)
FIBPlus - 商业
Firebirds ODBC 驱动程序 - 免费/开源
ZeosLib - 免费/开源
I've used this SQLite Wrapper with good success under D2009. I had it up and running in a matter of minutes. It has indexing and very low overhead. (This one is free and you don't need anything else besides the SQLite Dll)
There is also a commercial SQLite wrapper from Delphi Inspiration and the site says that they have a free for non-commercial and educational use license as well. I haven't used that one.
I've also used the Firebird embedded, but you then also need to have connectivity components to talk to it. I have IBObjects and that's what I use for both the server and embedded versions. I have tried other free Firebird database components but haven't really found any that I like or that I felt confident in.
[EDIT]
Since the majority of people are suggesting Firebird, here are some connectivity components for Firebird that I've tried in the past or that I've heard of:
Mercury Database Objects - Free/Opensource
IBObjects - Commercial (I've bought this one myself)
FIBPlus - Commercial
Firebirds ODBC Driver - Free/Opensource
ZeosLib - Free/Opensource
这个问题中提供了一些很好的信息 - SQLite3和 Firebird Embedded 似乎是不错的选择。
There's some good information available in this question - SQLite3 and Firebird Embedded seem to be good options.
并发?
我在一个(非 Delphi)项目中使用了 SQLite,并且对此非常满意。
否则,我认为 Delphi 选择的嵌入式单文件 DBMS 似乎是 Firebird。
Concurrency?
I used SQLite in one (non-Delphi) project and was very happy with it.
Otherwise, I think the embedded single-file DBMS of choice for Delphi seems to be Firebird.
尝试使用 Sybase 提供的 Advantage Database(从 Extended Systems 购买)
http://marketing.ianywhere .com/forms/ADS91-30-Day
如果您不需要客户端/服务器或互联网功能,它是免费的。
缺点是它不是 100% VCL,因此 VCL 包含到 DLL 的静态链接。
如果应用程序需要扩展,您无需再次更改数据库。
Try Advantage Database, offered by Sybase (purchased from Extended Systems)
http://marketing.ianywhere.com/forms/ADS91-30-Day
It's free if you don't need client/server or internet functionality.
The downside is it's not 100% VCL, so the VCL included statically links to DLLs.
If the app ever needs to scale, you won't have to change databases again.
我建议使用 Postgresql 作为数据库,我们在我们工作的所有项目中都使用它,并在一张表中使用超过 400 万条记录对其进行了测试,并且运行良好。
I would recommend using Postgresql as database, we use it in all projects that we work and tested it with over 4 million records in one table and worked pretty well.
另一种选择是使用 ADO 和 Microsoft Access 数据库。唯一的缺点是用户必须安装 Jet 引擎和 MDAC……大多数机器都是这样做的。这样做的优点是可以轻松升级到 MSSQL。只需更改连接字符串以指向 SQL Server 数据库,并进行一些小的查询更改。
Another option would be to use ADO and a microsoft access database. The only disadvantage is that the user has to have the Jet engine and MDAC installed... which most machines do. The advantage to this is that it makes upsizing to MSSQL easy. Just change the connection string to point to the SQL Server database, and make a few minor query changes.
我已经使用 NexusDB 多年了,它是一个小型、可靠、灵活的数据库。它是用 Delphi 编写的,带有完整的源代码,可以完全编译到您的应用程序中(无需分发 DLL)或作为客户端服务器系统运行。
很难知道它是否能满足您的性能要求,但只要我对正确的字段建立索引,我的 SQL 查询性能就不会出现问题。这是一个每表一个文件的产品,但不要因此而阻止您查看。
它是一个商业产品,但他们提供仅 DCU 版本,只能免费在单用户/嵌入式应用程序中使用。
I've used NexusDB for years and it's a small, reliable, flexible database. It's written in Delphi, comes with full source and can be compiled completely into your application (no DLLs to distribute) or run as a client server system.
It's hard to know whether it will meet your performance requirements but I haven't had a problem with my SQL query performance provided I was indexing the right fields. It's a one file per table product but don't let that stop you taking a look.
It's a commercial product but they offer a DCU only version that can only be used in single user/embedded applications for free.
我正在完成一个大型应用程序的转换,该应用程序使用 BDE/Paradox 作为本地数据库,使用 Oracle 8i 作为远程数据库。
我正在使用 DevArt 的 UniDAC。这允许我使用一个组件集(完全摆脱旧的 BDE),可以将 MSSQLServer 作为本地数据库,并继续将 Oracle 作为远程数据库。我现在有望能够更轻松地在任一端切换数据库,只需更换提供商即可。
我喜欢这种方法,而且组件似乎做得很好。
杰伊
(D2007)
I'm working at finishing up a conversion of a large application that has used BDE/Paradox for a local database and Oracle 8i for a remote db.
I'm using UniDAC from DevArt. That allows me a single component set (completely free from the old BDE) that can hit MSSQLServer as a local db and continue to hit Oracle as my remote. I have the prospect of being able to switch databases at either end much more easily now, just by changing providers.
I like this approach, and the components seem to be quite well done.
Jay
(D2007)
有点痛苦
Postgresql 非常好,但它是一个重型机器,它更接近 Oracle,所以你可以做非常重型的应用程序,但维护Firebird 是否嵌入或不嵌入
对于 2009 年的连接,您可以使用 devrace.com 的 FIB plus,他们有一个试用版,仅显示导航屏幕,因此如果它不是商业应用程序,也可以。
否则,如果它是一个商业应用程序,你可以花 300 美元购买它,我还使用了 interbase/firebird 的 devar 组件,它们也非常好
如果你想免费使用 zeos,但你得到的是你所付出的 http://sourceforge.net/projects/zeoslib/
SQL lite 不是单个文件,如果是多用户,那就很糟糕了
Postgresql is very good but it is a heavy machinery it is closer to oracle so you can do very heavy apps but a bit of a pain to maintain
Firebird is fantastic embedded or not
for connectivity in 2009 you can use FIB plus from devrace.com they have a trial version which just show a nag screen so if it not a commercial app it is ok.
else if it is a commercial app you can spend the 300 $ and buy it, I used also devart components for interbase/firebird and they are very good too
if you want free uses zeos but you get what you pay for http://sourceforge.net/projects/zeoslib/
SQL lite is not a single file and if it is multi user it sucks