无需安装的C ++数据库访问

时间:2011-06-04 18:39:39

标签: c# c++ sql database

我正在寻找一个可以运行SQL语句而无需安装数据库服务器的数据库。即我需要能够在只给出数据库文件和任何外部库的情况下选择/插入/更新数据库。

以下是我的情况:

  • 我正在使用C ++解析一些奇怪格式的二进制文件, 我想将它们存储到某种类型的数据库中以提供更多 方便地访问数据。
  • 将文件插入数据库后,我将使用C# 编写用户可以与数据库交互的接口/ GUI。
  • 我正在使用C ++来读取文件的速度,因为 我已经写过这部分了。
  • 我正在使用C#,因为它更容易进行GUI编程。

以下是我的要求:

  1. 数据库必须提供一种仅使用外部库(无安装)在C ++中运行命令的方法
  2. 我应该能够将数据库移动到任何(类似的[Windows])计算机并运行我的应用程序
  3. 我相信这可以使用ADO或JET等MS Access * .mdb文件,但是,我想听听一些替代方案。请在答案中提供数据库和C ++引擎/库。

    我的优先事项是:

    1. “精简版” -ness
    2. 表现(插入/选择的速度)
    3. 客户端代码简单(即设置起来容易)
    4. 谢谢大家。

2 个答案:

答案 0 :(得分:6)

您需要查看SQLite。它非常适合这种情况,非常易于使用。它非常受欢迎(大型社区),紧凑,跨平台,易于使用。

其他语言也有SQLite实现。例如,您还可以使用C#访问SQLite数据库。甚至还有一个Linq-to-SQLite。

答案 1 :(得分:5)

这里SQLite不会出错。

它足够小,可嵌入到许多应用程序中(例如,请参阅here以获取着名的应用程序列表,范围从Photoshop到Apple Mail + Safari,Dropbox,Firefox,Chrome,Skype以及更多),但足以涵盖您可能需要的大多数SQL方面。非常好的支持,以及API和语言的广泛覆盖。

它可能存在锁定和多次写入访问的问题。但对于单个客户来说,它应该可以正常工作。