数据库连接Delphi

时间:2010-02-18 04:08:08

标签: database delphi ado dbexpress zeos

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

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

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

数据库服务器将是一台运行良好的(raid-1)2硬盘驱动器(MySql5.1或Postgre或Firebird,对建议开放)。

ADO

  • 易于使用
  • 轻松部署(仅限mysqlconnector安装程序)
  • 慢一点?

的dbExpress

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

的Zeos

  • 轻松部署(1 dll)
  • 易于使用

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

  • 易于使用
  • 易于部署

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

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

提前致谢
亚瑟

8 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:2)

id必须说我对NexusDB感到满意,但客户端/服务器版本的成本可能不值得。

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

  • 嵌入式数据库是免费的,
  • 客户端/服务器“每位开发人员定价”为AU$ 500
  • 每次安装无费用。

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

答案 3 :(得分:1)

我说要使用Firebird - 是Delphi领域最常用的数据库引擎(见here)。对于连接,或许最好使用Zeos(免费)或DBX(如果你能负担建筑师版本 - 唯一一个拥有Firebird驱动程序的人)。

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

答案 4 :(得分:1)

虽然我读过人们不喜欢混合这两者的想法,但是我使用ADO数据集作为“提供者层”得到了很好的结果,然后将数据提供给TClientDataSets - 所以没有理由你不能使用ClientDataSets如果您发现需要它们,那么您可以沿着ADO路线前行(并且它们很有用)。

否则,我会回应ADO是一个尝试过的,值得信赖的机制的评论。我总是发现它比它足够快。使用UDL文件进行配置非常简单。

答案 5 :(得分:0)

  • dbGo(ADO)管理更简单,更通用,更慢
  • dbExpress管理速度更快,更复杂,支持更少的DBMS
  • ZeosDBO易于管理,像dbExp一样通用,像dbGo一样慢,跨平台,几乎没有其他组件,所有来源都可以访问

尽管所有这些都是商业产品,但很少有其他图书馆可以解决所有疑问。但我有偏见:)

答案 6 :(得分:0)

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

答案 7 :(得分:0)

- 数据访问组件

我也赞成TClientDataset和ADO的组合。曾经和它一起工作,我可以说它是值得信赖的。 TClientDataset的灵活性是一个很大的收获。 DBExpress也很好。 实际上,我使用clientdatasets几乎任何具有TDataset后代的数据访问层......

- 服务器

火鸟。从OLEDB(我使用ODBC)和DBExpress(D2010 +具有本机DBX驱动程序)中免费且易于使用 - 不知道ZEOS,但我相信它也连接到FB。 适用于许多连接和大型数据库。 Firebird上有500Gb的数据库和许多用户报告。

相关问题