Database Delphi嵌入式数据库

Database Delphi嵌入式数据库,database,delphi,Database,Delphi,我需要一个小/轻的DB控件(可能作为单个PAS文件提供),可以直接集成到我的应用程序中。我需要在少量的表中存储相对较少的数据,并希望快速访问某些列。我知道Delphi7有很好的BDE,但我不想在安装过程中给用户带来麻烦 我使用Delphi7 编辑: 我想我问错问题了。所以,这里是我真正需要的: NexusDB提供免费版本。下面是一个如果您承诺不再在应用程序中包含任何依赖项,请查看TClientDataSet 我建议使用某种“嵌入式”数据库。示例:为了将Firebird用作嵌入式数据库,您至少只

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

我使用Delphi7


编辑:
我想我问错问题了。所以,这里是我真正需要的:

NexusDB提供免费版本。下面是一个

如果您承诺不再在应用程序中包含任何依赖项,请查看
TClientDataSet

我建议使用某种“嵌入式”数据库。示例:为了将Firebird用作嵌入式数据库,您至少只需要提供一个DLL。您可以将该DLL放入安装程序中,这样用户就不需要安装任何东西。

我已经尝试过(按轻量级排列):

  • NexusDB-商业版,太大了,满足不了我的需求;增加了不少开销
  • 迪斯克利特-看起来很强大;难以使用
  • kbmMemTable-商业版,未为试用版用户记录(除非您购买符合试用版概念目的的文档,否则无法试用)
  • 无TDBF,但不再维护;而且它完全缺乏文档
  • Synopse BigTable-似乎是我需要的解决方案。它仅包含2个PAS文件
在某些情况下,自定义系统可能比通用系统更适合。因此,为了满足我的需要,我将定制自己的系统。因为我知道数据的大小/类型,所以我可以创建完全适合我的数据的字段。通过这种方式,DB的大小将更小更快(而且是免费的)。 :)


解决方案:

作为替代方案,免费TDbf数据库如何?它可以直接编译到您的应用程序中,并且对于轻量级使用是可靠的

另外,如果您已经足够大了,还记得DBase是标准桌面数据库平台的日子,那么您可能已经知道如何使用它了。:-)

(如果最近似乎没有太多活动,那是因为它已经存在了10年,而且非常稳定)


只是想一想。你可以试试。它是一个优秀的嵌入式数据库。快速、可靠,而且价格比不上(开源、公共领域)。有许多Delphi包装器,如果您想要一个轻量级的解决方案,也可以直接使用该库

如果你有一些预算,试试看。它提供本机和嵌入式SQLite访问,因此您甚至不必提供外部DLL。

两个开源解决方案(从Delphi 6到XE):

  • 一个ORM,可以使用SQLite或纯Delphi存储来存储数据。它可以是独立的,也可以是客户机/服务器

  • 一个。样本基准测试能够在800毫秒内存储1000000条记录,其中包含一个整数和一个文本字段(自动创建索引)。您可以创建自己的表列,然后通过后期绑定访问字段内容

  • JvCSVDataSet和JvCSVBase来自

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

    致意 马德森
    kbm@components4developers.com

    Sqlite是另一个选项(也是一个DLL)。虽然我喜欢Nexus DB替代方案,但在我看来TClientDataSet是最好的选择,更不用说它随Delphi提供了这么多版本。谢谢。我真的很喜欢TDBF。我刚安装好。我将用它做实验。我必须看看它是否支持二进制字段。re:没有活动-那是因为dBase(及其所有的fork)格式已经过时了。我看到了。悲哀地最糟糕的是文档不存在@祭坛,至少是老的意味着也非常有名:-)测试TDBF非常稳定。但是如果你想把你的应用程序升级到Delphi的Unicode版本(谁知道你的成功的未来),你可能会遇到问题。它完全编译到您的应用程序中,没有任何外部依赖项(而且它是模块化的,如果您不需要使用SQL,则不需要将SQL支持编译到您的应用程序中),并提供与BDE类似的功能,您在原始帖子中说,如果不需要安装BDE,您将使用BDE。@Engler。参见PhilW的帖子。目前我正在关注TDBF。它小得多。它几乎不会增加应用程序的大小,尤其是编译时间!!!自2003年发布以来,该代码一直没有得到有效维护。@Thorsen:我知道,但我想它可以用于Delphi 7?好吧,在最新发布的FlashFiler版本中有很多bug,据我所知,自从FF开源以来,在FF上根本没有做过任何工作。还有一些基本的设计问题。这就是我从零开始开发NexusDB作为FlashFiler的精神继承者的原因之一。我可能对此不是很客观;)但是在我看来,考虑到提问者的要求,NexusDB的免费嵌入式版本将是一个比FlashFiler更好的选择。@Thorsten(这次有两个t…:),我不熟悉NexusDB,但我知道你在这个项目上做得很好。荣誉我毫不怀疑NexusDB比FF更好,我只是想让OP知道这个项目。看问题:嘿!我想用1)缩小问题的范围,如前所述,您只需要一个存储引擎2)因为您希望它静态链接,所以许可证问题3)是否允许多个文件。就个人而言,我会选择TClientDataSet或ADO/JetUniDac更好,但这是我个人的观点……真的吗?我会的