2011-02-06 144 views
8

我需要一个小型/轻量级 DB控制(可能作为单个PAS文件提供),我可以直接将其集成到我的应用程序中。我需要在少量表格中存储相对少量的数据,并且我想快速访问某些列。我知道Delphi 7具有很好的BDE,但我不想在安装过程中给用户带来麻烦。Delphi嵌入式数据库

我用Delphi 7


编辑:
我想我问错了问题。所以,这里是我真正需要的:
How to store dynamic data (unknown number of fields) to a file?

+0

见的问题:http://stackoverflow.com/questions/222699/which-embedded-database-to-use-in-a-delphi-应用程序 – lkessler 2011-02-07 06:57:34

+0

嘿!我只是用1)缩小了这个问题,如上所述,你只需要一个存储引擎2)因为你想要它静态链接,许可证事宜3)确定是否有多个文件。就个人而言,我会去TClientDataSet或ADO /喷射 – 2011-02-07 10:47:05

回答

1

我试图(通过轻量级排列):

  • NexusDB - 商业,太大了,我需要什么;增加了一些开销
  • DISQLite - 看起来很强大;难以使用
  • kbmMemTable - 商业用途,无需试用(除非您购买文档,首先符合TRIAL概念的目的,否则不得试用)
  • TDBF - 免费但不再维护;也完全缺乏文档
  • Synopse BigTable - 似乎是我需要的解决方案。它只包含2个PAS文件。

在某些情况下,自定义系统可能更适合一般的系统。所以,为了我的需要,我会量身定制我自己的系统。因为我知道数据的大小/类型,所以我可以使字段完全适合我的数据。数据库的大小会更小,速度更快(加上它是免费的)。 :)

解决方案:How to store dynamic data (unknown number of fields) to a file?

9

NexusDB提供免费的embedded版本。这里是一个Example

+0

我只是试过Nexus DB,但它对我来说是矫枉过正。谢谢 – Ampere 2011-02-06 17:27:47

+1

你认为它是如何矫枉过正?它完全编译到您的应用程序中,没有任何外部依赖(并且它是模块化的,如果您不需要使用SQL,则不需要将SQL支持编译到您的应用程序中),并提供与您所说的BDE类似的功能你原来的帖子,如果不是需要安装的话,你会使用它。 – 2011-02-07 02:11:38

+0

@Engler。见PhilW的帖子。目前我正在看TDBF。它要小得多。它几乎没有添加任何应用程序的大小,尤其是编译时间! – Ampere 2011-02-07 10:20:39

8

如果你承诺不包含任何更多的依赖与你的应用程序,看看TClientDataSet

我推荐某种“嵌入式”数据库。示例:为了将Firebird用作嵌入式数据库,至少需要运送一个DLL。您可以将该DLL放入安装程序,以便用户不需要安装任何东西。

+1

Sqlite是另一种选择(也是1个DLL)。 – arthurprs 2011-02-06 15:14:52

+0

虽然我喜欢Nexus DB的替代品,但TClientDataSet是我认为最好的方式,更不用说它与Delphi一起提供了这么多版本。 – ComputerSaysNo 2011-02-07 16:54:58

7

作为替代,如何对免费TDbf数据库?它直接编译到您的应用程序中,并且对于轻量级应用来说是可靠的另外,如果您足够大的时间来记住DBase是标准桌面数据库平台的日子,那么您可能已经知道如何使用它了。 :-)

这是在http://tdbf.sourceforge.net

(如果有似乎没有很多最近的活动那是因为它的存在了10年,是非常稳定的)。

只是一个想法。

+0

谢谢。我非常喜欢TDBF。我刚安装它。我会试验它。我必须看看它是否支持二进制字段。 – Ampere 2011-02-06 21:45:32

+1

回复:无活动 - 这是因为dBase(及其所有分支)格式已过时。 – 2011-02-06 23:59:23

7

你可以尝试SQLite。它是一个优秀的嵌入式数据快速,可靠,你不能击败价格(开源,公共领域)。有很多Delphi包装器,或者如果你想要一个轻量级的解决方案,你可以直接使用库。

3

如果有一些预算花费,请给AnyDAC一试。它提供本机和嵌入式SQLite访问,所以你甚至不需要运送外部DLL。

4

两个开源溶液(工作距离Delphi 6到XE):

  1. 一个ORM oriented solution,其可以使用SQLite或纯的Delphi存储存储数据。它既可以作为独立的,也可以作为客户端/服务器。

  2. 其中一个very fast pure Delphi NoSQL table storage engine。示例基准测试能够在800毫秒内存储1,000,000个具有一个整数和一个文本字段的记录(并自动创建索引)。您可以创建自己的表格列,然后通过Late-Binding访问字段内容。

-2

虽然手册付款的,实际的组件是免费提供的,其中包括一个相当广泛的演示应用程序展示了很多功能。此外,互联网上还有很多关于如何使用它的信息。 使用www.codenewsfast.com或google.com进行搜索。

问候 金马德森 [email protected]