我不相信我的问题有解决办法,但我想我会问,以防万一我错过或误解了它的某些方面:
因此,我真正需要的是一些独立于操作系统(和32/64位独立)的方式来从C#创建和写入Access数据库。这样的事情是否存在,或者我的选择是否如上所述?
有一种想法是我们可以从连接组件中取出我们依赖的dll,但我相当确定那些是针对32位或64位环境的,所以当我们尝试在非运行时它会失败 - 目标平台。或者它们会像针对“任何”的C#程序一样运行,只是根据环境进行调整?
答案 0 :(得分:0)
在我之前使用过的应用程序中,需要将数据导出到Access数据库。但是,如果未安装Access,则无法直接“创建”空数据库。由于无法连接到不存在的数据库,我所做的就是创建一个空数据库,将文件本身作为资源嵌入到应用程序中。然后,当我需要创建一个新的“访问数据库”时,我会流式读取它,并将空的数据库结构写到需要的任何地方,无论它需要什么文件名。由于数据库已经在32位环境中创建,因此后续连接时没有问题......但是在64位计算机变得越来越普遍之前也是如此。
希望这有助于您选择/解决方案。
答案 1 :(得分:0)
实际上,如果你编写了一个应用程序 - 你可以强制将它定位在32位,而不用担心。 在64位环境中启动时 - 它将“刚刚运行”。
如果您正在编写一个dll /程序集,那将由应用程序引用,并且您知道此应用程序将被编译为“任何CPU”或“64位”,那么您运气不好,并且这个答案对你没有帮助,可能是:D