我可以使用ADO最简单的数据库类型是什么?

时间:2012-03-30 00:11:21

标签: sql-server database delphi ado delphi-xe2

我正在寻找一种方法,我可以将数据库保存在一个文件中,没有服务器托管它,并且能够使用ADO(在delphi中,特别是TADOConnection和/或{{1} })。请原谅我在这一方面缺乏术语。我只熟悉SQL Server数据库,而不了解任何其他数据库。事实上,我知道读/写文件的唯一方法是纯文本,INI和XML。至于任何官方的“数据库”,我什么都不知道。

所以我想做的是将单个文件保存为数据库,类似于QuickBooks如何拥有单个“公司文件”。我不应该有任何东西来托管数据,例如SQL Server。它需要与ADO兼容,因此我可以使用简单的TADOQueryselectupdate等。它不需要如此复杂以至于具有关系,安全性,但它确实需要与SQL Server具有相同的语法规则,例如deletejoinalter等命令。

我正在寻找最轻的方法。这些文件需要足够灵活,能够复制/粘贴(只要应用程序不使用它),类似于excel文件。事实上,我最初的想法是使用Excel,因为我知道我可以使用ADO,但我也不想要求Microsoft的excel驱动程序(它必须假设MS Office / Excel安装在用户的计算机上)。显然需要一些驱动程序,但我需要最兼容的标准方法。

3 个答案:

答案 0 :(得分:7)

您可以使用MS-Access个MDB文件。它可以通过Microsoft OLEDB Jet 4引擎(至少从Win XP内置到Windows中)使用,非常适合本地桌面数据库应用程序,能够创建表,PK,索引,查询/视图,事务,多用户,复制,压缩/修复等等,与MS SQL-Server SQL语法几乎完美兼容(因为MS-AccessMS SQL-Server)的祖先。
必须在客户端计算机上安装MS-Access产品(即MS Office剂量不。 无需安装额外的驱动程序或文件,并且可与现有的MS-Office产品完全集成。


编辑:MDB文件也可以是Protected/Encrypted

答案 1 :(得分:5)

您可以使用多种方法将数据存储在单个数据库文件中。

所有这些都可以使用ODBC或OLEDB驱动程序通过ADO加入。我的个人推荐是Firebird,因为它是免费的,快速的,稳定的并且版本为Embedded

答案 2 :(得分:1)

This是一个非常有用的比较许多嵌入式数据库。在测试的那些中支持(odbc),(oledb)或(两者)并使用(单个)文件用于数据库:

  • Accuracer(odbc)(单曲)
  • NexusDB(odbc)(单个v4和更新版本)
  • Firebird(两者)(单个) - 多个odbc实现和商业IBProvider支持三种不同的方式连接到ADO组件。
  • TurboDB(odbc)(单个v4和更新版本)

注意:其中大多数也提供ADO.Net提供商。

比较中的另一个(Advantage,ElevateDB,DBISAM和Apollo)使用每个表/索引方案的文件。