7

我使用 delphi 多年,但从未用于数据库,但最近开始研究和测试。

我必须说,我印象深刻,大多数事情都是自动发生的,我习惯于用 php 和 python 手动编写。

我要为朋友开发一个商业系统,(2 层)5 台用户计算机,1 台数据库服务器。

数据库服务器将是一台不错的机器,运行 (raid-1) 2 个硬盘驱动器(MySql5.1 或 Postgre 或 Firebird,欢迎提出建议)。

ADO

  • 便于使用
  • 易于部署(仅 mysqlconnector 安装程序)
  • 越慢?

数据库快递

  • 需要运送 4 个文件 [dbxconnections.ini, dbxdrivers.ini, mysqldll, driverdll]
  • 更复杂(更难使用)
  • ClientDataSet 增加了复杂性,但看起来真的很有用
  • 没有免费的 Postgre 驱动程序?

宙斯

  • 易于部署 (1 dll)
  • 便于使用

如您所见,所需的功能是:

  • 快速地
  • 便于使用
  • 易于部署

我无法在真实场景(客户端,服务器)中测试所有内容,所以我希望有经验的你们可以帮助我选择哪一个以及为什么。

编辑:谢谢大家,我想我会选择 ADO(可能)或 Zeos

提前感谢
亚瑟

4

8 回答 8

5

@arthurprs,适合你的场景

(2 层)5 台用户计算机,1 > 数据库服务器。

alt text http://www.techsolusa.com/images/firebird-logo-64.gif Firebird RDBMS 是一个非常好的选择,因为 它非常稳定、快速,可以在 Linux、Windows 和各种 Unix 平台上运行,并且满足您的要求。

alt text http://d.yimg.com/kq/groups/12858579/homepage/name/homepage.jpg尊重连接组件,我选择ZEOS

我在很多中小型项目中使用过这种组合,效果非常好。

于 2010-02-18T04:18:26.263 回答
4

我使用 ADO 在许多商业大容量系统上工作过,没有任何问题。部署相对简单,因为它包含在操作系统中。由于它拥有如此广泛的受众,因此大多数主要问题都已被识别和纠正。获得有关 ADO 连接的帮助非常容易。数据库支持非常深入(connectionstrings.com),这使得支持额外的数据库引擎几乎是微不足道的(您可能仍需要安装客户端驱动程序,但这对于几乎任何解决方案都是相同的)。

性能并不是什么大问题,它实际上将归结为数据库架构和引擎选择。

于 2010-02-18T05:38:20.800 回答
2

我不得不说我对NexusDB相当满意,但客户端/服务器版本的成本可能不值得。

它适用于客户端/服务器或完全嵌入式,足够简单,您可以在您的应用程序中同时拥有它们并在它们之间切换,具体取决于您的客户需求

  • 嵌入式数据库是免费的,
  • 客户端/服务器“每位开发人员的价格”为500 澳元
  • 每次安装不收费。

哦,是的,它是用德尔福写的;)

于 2010-02-18T05:32:22.047 回答
1

我会说要使用 Firebird - 是 Delphi 领域最常用的数据库引擎(请参阅此处)。对于连接性,使用 Zeos(免费)或 DBX(如果你能负担得起 Architect 版本 - 唯一拥有 Firebird 驱动程序的版本)可能会更好。

关于 ADO:成熟的连接层,但它将(永远 - 很可能)与 Windows 绑定,而 Delphi 将跨平台。此外,是的,由于许多原因,它往往是较慢的,包括在某些情况下使用的 ODBC 驱动程序。但在你的情况下,当然,正如 skamradt 所说,我认为这并不重要。

于 2010-02-18T07:08:54.083 回答
1

虽然我读到有人不喜欢将两者混合的想法,但我使用 ADO 数据集作为“提供者层”取得了很好的效果,然后将数据馈送到 TClientDataSets - 所以如果你失败了,你没有理由不能使用 ClientDataSets如果您发现需要它们,请使用 ADO 路线(它们很有用)。

否则,我会回应这样的评论,即 ADO 是一种久经考验的、受信任的机制,它不会去任何地方。我总是发现它足够快。使用 UDL 文件进行配置非常简单。

于 2010-02-18T11:06:18.047 回答
0
  • dbGo (ADO) 更易于管理、更通用、更慢
  • dbExpress 速度更快,管理更复杂,支持的 DBMS 更少
  • ZeosDBO 易于管理,像 dbExp 一样通用,像 dbGo 一样慢,跨平台,几乎没有附加组件,所有源都可以访问

尽管它们都是商业产品,但很少有其他库可以解决上述所有疑问。但是我有偏见:)

于 2010-02-18T18:27:49.150 回答
0

我们在中型数据库应用程序中使用了使用 Devart pg 组件的 postgreSQL,并取得了巨大成功。我们对这种组合进行了一些有限的基准测试,发现它的速度是使用 ADO 等的 2-3 倍。

于 2010-02-25T02:23:44.923 回答
0

-- 数据访问组件

我也赞成 TClientDataset 和 ADO 的组合。过去曾与它合作过,我可以说它是值得信赖的。TClientDataset 的灵活性是一大收获。DBExpress 也不错。实际上,我将客户端数据集与几乎所有具有 TDataset 后代的数据访问层一起使用......

- 服务器

火鸟。OLEDB(我与 ODBC 一起使用)和 DBExpress(D2010+ 具有本地 DBX 驱动程序)免费且易于使用 - 不知道 ZEOS,但我相信它也可以连接到 FB。很好地扩展到许多连接和大型数据库。Firebird 上有 500Gb 的数据库,并且有很多用户报告。

于 2010-02-25T20:27:00.733 回答