我正在寻找一种方法,我可以将数据库保存在一个文件中,没有服务器托管它,并且能够使用ADO(在delphi中,特别是TADOConnection
和/或{{1} })。请原谅我在这一方面缺乏术语。我只熟悉SQL Server数据库,而不了解任何其他数据库。事实上,我知道读/写文件的唯一方法是纯文本,INI和XML。至于任何官方的“数据库”,我什么都不知道。
所以我想做的是将单个文件保存为数据库,类似于QuickBooks如何拥有单个“公司文件”。我不应该有任何东西来托管数据,例如SQL Server。它需要与ADO兼容,因此我可以使用简单的TADOQuery
,select
,update
等。它不需要如此复杂以至于具有关系,安全性,但它确实需要与SQL Server具有相同的语法规则,例如delete
,join
,alter
等命令。
我正在寻找最轻的方法。这些文件需要足够灵活,能够复制/粘贴(只要应用程序不使用它),类似于excel文件。事实上,我最初的想法是使用Excel,因为我知道我可以使用ADO,但我也不想要求Microsoft的excel驱动程序(它必须假设MS Office / Excel安装在用户的计算机上)。显然需要一些驱动程序,但我需要最兼容的标准方法。
答案 0 :(得分:7)
您可以使用MS-Access
个MDB文件。它可以通过Microsoft OLEDB Jet 4
引擎(至少从Win XP内置到Windows中)使用,非常适合本地桌面数据库应用程序,能够创建表,PK,索引,查询/视图,事务,多用户,复制,压缩/修复等等,与MS SQL-Server
SQL语法几乎完美兼容(因为MS-Access
是MS SQL-Server
)的祖先。
必须在客户端计算机上安装MS-Access
产品(即MS Office
)剂量不。
无需安装额外的驱动程序或文件,并且可与现有的MS-Office产品完全集成。
编辑:MDB文件也可以是Protected/Encrypted。
答案 1 :(得分:5)
您可以使用多种方法将数据存储在单个数据库文件中。
所有这些都可以使用ODBC或OLEDB驱动程序通过ADO加入。我的个人推荐是Firebird,因为它是免费的,快速的,稳定的并且版本为Embedded
。
答案 2 :(得分:1)
This是一个非常有用的比较许多嵌入式数据库。在测试的那些中支持(odbc),(oledb)或(两者)并使用(单个)文件用于数据库:
注意:其中大多数也提供ADO.Net提供商。
比较中的另一个(Advantage,ElevateDB,DBISAM和Apollo)使用每个表/索引方案的文件。