2011-08-24 296 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/ –

相關問題