我使用delphi多年了,但从不使用数据库,但最近开始研究和测试。
我必须说,我印象深刻,大部分事情都是自动发生的,我习惯用php和python手工编写。
我将为朋友(2层)5台用户计算机,1台数据库服务器开发商业系统。
数据库服务器将是一台运行良好的(raid-1)2硬盘驱动器(MySql5.1或Postgre或Firebird,对建议开放)。
ADO
的dbExpress
的Zeos
如您所见,所需的功能是:
我无法在真实场景(客户端,服务器)中测试所有内容,所以我希望有经验的人可以帮助我选择哪一个以及为什么。
编辑:谢谢大家,我想我会选择ADO(可能)或Zeos
提前致谢
亚瑟
答案 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感到满意,但客户端/服务器版本的成本可能不值得。
它适用于客户端/服务器或完全嵌入式,非常简单,您可以在应用程序中同时切换它们,具体取决于您的客户需求
哦,是的,用德尔福写的;)
答案 3 :(得分:1)
我说要使用Firebird - 是Delphi领域最常用的数据库引擎(见here)。对于连接,或许最好使用Zeos(免费)或DBX(如果你能负担建筑师版本 - 唯一一个拥有Firebird驱动程序的人)。
关于ADO:成熟的连接层,但它将(永远 - 很可能)与Windows绑定,而Delphi将跨平台。此外,是的,由于许多原因,包括在某些情况下使用的ODBC驱动程序,它往往是较慢的。但是在你的情况下,当然,正如skamradt所说,我并不认为它会如此重要。
答案 4 :(得分:1)
虽然我读过人们不喜欢混合这两者的想法,但是我使用ADO数据集作为“提供者层”得到了很好的结果,然后将数据提供给TClientDataSets - 所以没有理由你不能使用ClientDataSets如果您发现需要它们,那么您可以沿着ADO路线前行(并且它们很有用)。
否则,我会回应ADO是一个尝试过的,值得信赖的机制的评论。我总是发现它比它足够快。使用UDL文件进行配置非常简单。
答案 5 :(得分:0)
尽管所有这些都是商业产品,但很少有其他图书馆可以解决所有疑问。但我有偏见:)
答案 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的数据库和许多用户报告。