2013-12-23 49 views
2

我正在使用MS Access數據庫來存儲桌面應用程序的數據。本週,我被要求爲一些額外的用戶提供應用程序訪問權限,但是當他們啓動應用程序時,他們收到錯誤消息:MS Access/accdb「無法打開數據庫」錯誤(C#)

無法打開數據庫''。它可能不是您的應用程序識別的數據庫,或者該文件可能已損壞。

我已經瀏覽了5頁谷歌搜索結果,試圖找到一個解決方案,並沒有任何東西。我可以找到這個問題的每一個答案是2GB的限制(我的數據庫是遠不及)或腐敗(這不是這種情況,因爲只有兩個新用戶收到此錯誤,其他人都很好)。

這是我的連接字符串:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Path];Jet OLEDB:Database Password=[Password];" 

我敢肯定,這是由於用戶的機器失去了一些東西,但我不能找出或在那裏他們可以得到它。請指教。

+0

您的連接字符串存儲在哪裏?在配置文件中?如果在一個文件中,你確定他們有權訪問它嗎? – Brian

+0

@Brian它沒有存儲在配置文件中。有權訪問連接字符串不是問題。 –

+0

你的數據庫位於網絡共享上嗎?您是否檢查了這些新用戶的讀/寫權限? – Steve

回答

4

您的連接字符串表示您正在使用Microsoft.ACE.OLEDB.12.0驅動程序。

這必須安裝在機器上,因爲它不帶窗戶。

您可以在驅動程序中找到Microsoft Access Database Engine 2010 Redistributable

+0

我有一個用戶現在就試試這個。 –

+0

如果未提供該提供者,則錯誤消息應該是「找不到提供者」。 – HansUp

+0

@HansUp你可能是對的,但鑑於數據庫回來空字符串,這似乎表明某種機器問題。如果它在一臺機器上成功而不是另一臺機器,並且它沒有權限,那麼它可能是驅動程序的一個損壞的安裝。 – paqogomez

相關問題