2011-08-24 293 views
3

我的应用程序写入C#并使用Ms-Access 2003,我希望它在64-bit Windows安装中正常运行。我在连接字符串中使用ACE.OLEDB.12. 0作为数据提供者,但它仍然给出Microsoft.ACE.OLEDB.12.0提供程序未注册的例外,尽管我已在目标机器上安装了Microsoft Access Databse Engine 201032-bit)(因为目标机器的Office安装为32-bit)。Microsoft.ACE.OLEDB.12.0提供程序未注册

我也跟着在msdn以下职位Microsoft.ACE.OLEDB.12.0 provider is not registered 和许多其他职位等microsoft网站,因为他们说编译到x86问题解决了。我想知道是否有另一种解决此问题的方法,不需要编译到x86 ...

+0

不 - 我不认为有另一个强大的解决方案... – Yahia

+0

必须将您的应用程序编译为64位? –

+0

是的,它必须... –

回答

5

您不必为x86编译,但需要安装64位Access OLEDB提供程序一个64位的盒子。它可在这里:Microsoft Access Database Engine 2010 Redistributable

+0

不会与在同一台机器上安装的32位Office产生冲突吗? – Yahia

+0

我试图安装它,但它说,可用的Office版本是32位,因此无法安装,并且安装程序退出... –

+3

@Yahia - 如果您需要64位支持,您无法选择,但它应该工作。有一个技巧可以确保你可以正确安装它。看到这个链接和有关“被动”安装技巧的评论:http://blog.codefluententities.com/2011/01/20/microsoft-access-database-engine-2010-redistributable/ –

相关问题