我已经使用Microsoft Access创建了一个应用程序作为数据库。
当我分发它时,我得到一个错误:
搜索后,我发现安装两个标准修复程序
2007 Office system驱动程序:数据连接组件和Microsoft Access数据库引擎2010重新分发
安装此修复程序时,错误将更改为无法识别的数据库。我发现了另一个修复程序,它说使用Jet 4作为数据连接,当我创建一个快速应用程序(作为测试)时,它给出了相同的错误。
任何人都知道一种创建使用易于分发的数据库的应用程序的方法。
Microsoft Access数据库引擎2010(ACE)有两个版本。32位和64位。您不能在同一台计算机上安装两个版本。32位版本可以安装在具有64位OS的PC上。Office 64/32将以相同的位数安装ACE。
您可以在客户计算机上找到这种情况。现在,您的应用程序应该适应这种情况,并使用TargetCPU
允许您匹配大多数客户的属性(我假设您无法告诉用户卸载其Office副本以适应您的应用程序要求)
如果您的客户安装了64位操作系统和Office 64位,则您只有一个解决方案。使用TargetCPU = AnyCPU
无Prefer 32bit
或纯x64
应用程序创建一个64位应用程序。任何其他选项都会失败。
相反,如果您的客户未安装Office或32位版本(无论操作系统的位数如何),则可以使用TargetCPU=x86
或AnyCPU with Prefer 32bit
选项针对其环境来构建应用。当然,如果没有安装Office,则需要分发ACE的32位版本。
其它数据库选项要考虑的是SQLite
,MS Sql Server Compact Edition
或SQL Server LocalDB
选项。无论如何,您都需要分发适当的库以允许您的应用程序使用这些数据库系统。
为了更好地兼容已编写的代码,您可能应该选择Microsoft解决方案之一,但是如果应用程序不大(就数据访问而言),则可以放心地探索SQLite路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句