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

标签 c# c++ sql database

我正在寻找无需安装数据库服务器即可运行 SQL 语句的数据库。 IE。我需要能够选择/插入/更新仅给定数据库文件和任何外部库的数据库。

这是我的情况:

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

这是我的要求:

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

我相信这对于使用 ADO 或 JET 或类似东西的 MS Access *.mdb 文件是可能的,但是,我想听听一些替代方案。请在您的回答中提供数据库和 C++ 引擎/库。

我的优先事项是:

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

谢谢大家

最佳答案

你需要调查SQLite .它非常适合这种情况并且非常易于使用。它广受欢迎(大型社区)、紧凑、跨平台且易于使用。

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

关于c# - 无需安装的 C++ 数据库访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6238651/

相关文章:

sql - 获取有条件的数据

MySql:将CSV数据上传到临时表然后加入

c# - 使用父 ID 查询 NHibernate 子项目

c# - 使用 linq 从 var 中提取一列

c# - 查询生成器是否可以防止 SQL 注入(inject)?

c++ - epoll_wait() > 1 可以只有 1 个套接字和 1 个事件——EPOLLIN 吗?

c++ - C++14 是否定义了 'auto' 类型的函数参数?

c++ - 使用 tm 结构时如何检测是否有闰秒?

c# - 我可以强制 Windows 挑战用户进行身份验证吗?

sql - ES6:通过AND运算符将子查询连接到两个不同的行