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

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

这是我的情况:

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

这是我的要求:

  1. 数据库必须提供一种仅使用外部库在C ++中运行命令的方法(无需安装)
  2. 我应该能够将数据库移动到任何(类似的[Windows])计算机并运行我的应用程序

我相信这可以使用ADO或JET等MS Access * .mdb文件,但是,我想听一些替代方案。 请在答案中提供数据库和C ++引擎/库。

我的优先事项是:

  1. “精简版” -ness
  2. 性能(插入/选择的速度)
  3. 客户端代码简单(即设置起来容易)

谢谢你们。

你不能在这里使用SQLite 。

它足够小,可嵌入到许多应用程序中(例如,请参阅此处查看着应用程序列表,包括从Photoshop到Apple Mail + Safari,Dropbox,Firefox,Chrome,Skype等),但其完整性足以覆盖大多数SQL方面需要。 非常好的支持,以及API和语言的广泛覆盖。

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

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

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