0

任何人都可以解释一下我们如何将 ms access db 嵌入到我们的 winform 应用程序中,以便它可以轻松地在其他机器上运行,只需一个文件.EXE。我已经搜索了很多,但仍然无法找到合适的解决方案。在此先感谢。

4

1 回答 1

2

假设您使用的是 MDB,那么(32 位)数据库引擎 (JET) 是 Windows 的一部分。因此,应该没有设置要求。如果数据库只是读取而不写入,那么您可以将其作为资源添加到 EXE,当应用程序启动时,将资源提取到 TEMP 目录中,或者如果它很大并且您不介意离开缓存到本地应用程序数据 (CSIDL_LOCAL_APPDATA) 下的子文件夹中。如果您执行后者,那么下次应用程序启动时,它可以检查是否已存在有效的提取 MDB,如果存在则使用该 MDB。如果要写入数据库,您可以执行类似的操作,但仅用于本地存储,在这种情况下,链接的 MDB 将用作“模板”数据库。

如果您使用的是 Delphi 或 C++,我还建议调查 SQLite 作为 JET 的可能替代品,尽管我认为它是 C#(“c”标签有点混乱),那么您将无法静态链接 SQLite代码,它不符合独立 EXE 要求。

于 2013-11-01T11:51:59.320 回答