如果您正在使用32位应用程序,则需要安装Microsoft Access 2010引擎。您可以从此处下载Microsoft Access Database Engine 2010。
如果您正在使用64位应用程序,则需要安装Microsoft Access 2010引擎(64位)。您可以从此处下载Microsoft Access Database Engine 2010。
在启用操作系统的64位模式的情况下,将应用程序汇编到x86,而不是建立为Any CPU,并且在项目属性中设置为x86。您可以使用以下代码在C#中设置为x86:
if (IntPtr.Size == 8) SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, (UIntPtr)16 * 1024 * 1024, (UIntPtr)64 * 1024 * 1024); else SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, (UIntPtr)16 * 1024 * 1024, (UIntPtr)32 * 1024 * 1024);
[DllImport("kernel32.dll")] public static extern bool SetProcessWorkingSetSize(IntPtr process, UIntPtr minimumWorkingSetSize, UIntPtr maximumWorkingSetSize);
手动注册Microsoft.ACE.OLEDB组件。
a. 打开命令提示符(以管理员身份运行)。
b. 键入以下命令:
regsvr32 "C:\Program Files\Common Files\Microsoft Shared\OFFICE15\ACEOLEDB.DLL"
或者如果您的Office版本不同,请将OFFICE15更改为版本号(例如OFFICE14,OFFICE16等)。
c. 按Enter键。
如果以上步骤不起作用,则请确保您的操作系统和Microsoft Office安装为同一位数(即32位或64位)。如果您已经安装了Microsoft Access引擎,请卸载它并重新安装它。
如果所有这些都无效,请尝试使用另一个提供程序(例如Jet.OLEDB)。