我需要使用Windows应用程序嵌入MS Access数据库文件。此应用程序将安装在各种客户端计算机上。 客户是否需要购买MS Access数据库的许可证?
答案 0 :(得分:3)
不,除非您打算让他们使用Access界面打开数据库。
但是,如果您分发使用Access 2007或更高版本创建的accdb
文件和/或您的应用使用Microsoft.ACE.OLEDB.12.0
OleDb提供程序,那么您需要在客户端计算机上安装{{ 3}}
相反,如果你有一个Access 2003(mdb)文件,那么你不需要任何东西,OleDb提供程序(Microsoft.Jet.OLEDB.4.0
)已经包含在.NET Framework中
请记住,这里存在潜在的陷阱。如果您的应用需要ACE,那么您应该选择驱动程序的正确位数。如果您的应用程序是针对x86目标平台编译的,则可能是32位,如果是针对x64编译的,则为64位。 AnyCPU目标本身就是另一个问题,因为它会根据目标OS位数改变应用程序的位数。
相反,如果您使用JET.OleDb,则应始终为x86目标平台编译应用程序,因为没有64位版本的JET.OleDb。
在互联网上搜索Microsoft Access Database Engine会让您解决有关此问题的大量问题,但微软尚未完全解决。