数据库连接 Delphi

发布于 2024-08-22 04:04:49 字数 834 浏览 6 评论 0原文

我使用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

提前致谢
亚瑟

I'm using delphi for years, but never for database stuff, but recently started researching and testing.

I must say, i'm impressed, most of things happens automatically, i'm used to write by hand in php and python.

i'm going to develop a commercial system for a friend, (2 layers) 5 user computers, 1 database server.

Database server will be a decent machine with (raid-1) 2 hard drives running (MySql5.1 or Postgre or Firebird, open to suggestions).

ADO

  • Easy to use
  • Easy deployment (only mysqlconnector installer)
  • The slower?

DbExpress

  • Need to ship 4 files [dbxconnections.ini, dbxdrivers.ini, mysqldll, driverdll]
  • The more complex (harder to use)
  • ClientDataSet add complexity, but looks really useful
  • No free Postgre driver?

Zeos

  • Easy deployment (1 dll)
  • Easy to use

As you can see the desired features are:

  • fast
  • easy to use
  • easy to deploy

I can't test all in a real scenario (clients, server), so i hope that you guys with experience can help me out in which one to choose and why.

EDIT: Thanks everyone, i think i will go with ADO (probably) or Zeos

Thanks in advance
Arthur

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

故事和酒 2024-08-29 04:04:49

@arthurprs,对于你的场景

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

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

替代文本 http://d.yimg.com/kq/ groups/12858579/homepage/name/homepage.jpg 尊重我使用的连接组件 ZEOS

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

@arthurprs, for you scenario

(2 layers) 5 user computers, 1 > database server.

alt text http://www.techsolusa.com/images/firebird-logo-64.gif The Firebird RDBMS is a very good option , because is very stable, fast, runs on Linux, Windows, and a variety of Unix platforms and meet with you requirements.

alt text http://d.yimg.com/kq/groups/12858579/homepage/name/homepage.jpg Respect to the components for connection i go for ZEOS.

I have used this combination in many small and medium projects, with excellent results.

我为君王 2024-08-29 04:04:49

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

性能并不是什么大问题,它实际上取决于数据库架构和引擎选择。

I have worked on many commercial high volume systems using ADO without any problems. Deployment is relatively simple since its included in the OS. Since it has such a wide audience, most of the major issues have been identified and corrected. Getting help with ADO connectivity is very easy. The database support is very deep (connectionstrings.com) which make supporting additional database engines almost trivial (you may need to still install the client drivers, but that would be the same for almost any solution).

Performance isn't much of an issue, it really will come down to database architecture and engine selection.

ぇ气 2024-08-29 04:04:49

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

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

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

哦,是的,它是用 delphi 编写的;)

id have to say im rather happy with NexusDB but the cost for the client/server versions might not be worth it.

it works client/server or fully embedded, simple enough you can have both in your app and switch between them, depending on your clients needs

  • the embedded DB is free,
  • client/server "Priced per developer" is AU$ 500
  • No cost per install.

Oh yeh and its written in delphi ;)

无人问我粥可暖 2024-08-29 04:04:49

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

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

I'd say to go with Firebird - is the most used database engine in the Delphi land (see here). For connectivity perhaps is better to go with Zeos (free) or DBX (if you can afford the Architect version - the only one who has the Firebird driver in it).

About ADO: Mature connectivity layer but it will be (forever - most probably) tied to Windows while Delphi will go cross-platform. Also, yes, it tend to be the slower one because of many reasons, including the ODBC drivers which are used in certain situations. But in your case, of course, as skamradt says, I don't think that it will matter so much.

挽清梦 2024-08-29 04:04:49

尽管我读过有人不喜欢混合两者的想法,但我使用 ADO 数据集作为“提供者层”获得了良好的结果,然后将数据输入 TClientDataSets - 因此,如果您继续下去,没有理由不能使用 ClientDataSets ADO 路线,如果您发现需要它们(并且它们很有用)。

否则,我会同意这样的评论:ADO 是一种经过尝试、值得信赖的机制,但不会有任何发展。我总是发现它足够快。使用 UDL 文件进行配置既简单又方便。

Although I have read people not liking the idea of mixing the two, I have had good results using ADO Datasets as a "provider layer" which then feeds the data into TClientDataSets - so there's no reason you can't use ClientDataSets if you go down the ADO route if you find you need them (and they are useful).

Otherwise, I would echo the comment that ADO is a tried, trusted mechanism that isn't going anywhere. I've always found it more than fast enough. And configuration using UDL files is nice and easy.

无声情话 2024-08-29 04:04:49
  • dbGo (ADO) 管理更简单,更通用,更慢
  • dbExpress 更快,管理更复杂,支持较少 DBMS 的
  • ZeosDBO 管理简单,像 dbExp 一样通用,像 dbGo 一样慢,跨平台,几乎没有附加组件,所有来源均可访问

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

  • dbGo (ADO) is more simple to manage, more universal, more slow
  • dbExpress is more fast, more complex to manage, supports less DBMS's
  • ZeosDBO is simple to manage, universal like dbExp, slow like dbGo, cross-platform, has few additional components, all sources are accessible

There are few other libraries, resolving all above doubts, although all of them are commercial products. But there I am biased :)

烟沫凡尘 2024-08-29 04:04:49

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

We have used postgreSQL using Devart pg components with great success in medium sized database apps.
We did some limited benchmarking with this combination and found it 2-3 x the speed of using ADO etc.

-柠檬树下少年和吉他 2024-08-29 04:04:49

-- 数据访问组件

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

- Server

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

-- Data access components

I too favour the combination of TClientDataset and ADO. Had worked with it in past and I can say it's trustful. The flexibility of TClientDataset is a big gain. DBExpress is good too.
Actually, I use clientdatasets with pretty much any data access layer that have an TDataset descendant...

-- Server

Firebird. Free and easily usable from OLEDB (I used with ODBC) and DBExpress (D2010+ have native DBX driver) - don't know ZEOS, but I believe that it also connect to FB.
Scale well to many connections and big databases. There are databases on Firebird with 500Gb and many users reported.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文