请解释一下我们如何在winform应用程序中嵌入ms-access-db,以便它只使用一个file.EXE就可以轻松地在其他计算机上运行。我已经做了很多,但是仍然找不到合适的解决方法。提前谢谢。

最佳答案

假设您使用的是MDB,那么(32位)数据库引擎(JET)是Windows的一部分因此,不应该有设置要求。如果数据库是只读的,而不是写入的,那么您可以将其作为资源添加到EXE中,当应用程序启动时,将资源提取到TEMP目录中,或者如果它很大,并且您不介意将缓存留在本地应用程序数据(CSIDL_local_APPDATA)下的子文件夹中。如果执行后者,那么在应用程序下次启动时,它可以检查是否已存在有效提取的MDB,如果使用它,则使用该MDB。如果要将数据库写入,但只用于本地存储,则可以执行类似的操作,在这种情况下,MDB中的链接将用作“模板”数据库。
如果您使用Delphi或C++,我也建议研究SQLite作为JET的一种可能的替代方案,虽然因为它是C.I假设(C’标签有点混乱),但是您将无法静态链接SQLite代码,它不符合独立的EXE要求。

关于c - 我们如何使ms access db嵌入winform应用程序以使其可移植,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19724657/

10-11 22:11
查看更多