MS Access/accdb";“无法打开数据库”;错误(C#)

MS Access/accdb";“无法打开数据库”;错误(C#),c#,ms-access,jet,C#,Ms Access,Jet,我正在使用MS Access数据库为桌面应用程序存储数据。本周,我被要求向一些其他用户授予该应用程序的访问权限,但每当他们启动该应用程序时,都会收到错误消息: 无法打开数据库“”。它可能不是应用程序识别的数据库,或者文件可能已损坏 我已经浏览了5页谷歌搜索结果,试图找到一个解决方案,但什么也没想到。对于这个问题,我能找到的每一个答案要么是2GB限制(我的数据库远没有达到这个限制),要么是损坏(事实并非如此,因为只有两个新用户收到了这个错误,其他人都很好) 这是我的连接字符串: "Provider

我正在使用MS Access数据库为桌面应用程序存储数据。本周,我被要求向一些其他用户授予该应用程序的访问权限,但每当他们启动该应用程序时,都会收到错误消息:

无法打开数据库“”。它可能不是应用程序识别的数据库,或者文件可能已损坏

我已经浏览了5页谷歌搜索结果,试图找到一个解决方案,但什么也没想到。对于这个问题,我能找到的每一个答案要么是2GB限制(我的数据库远没有达到这个限制),要么是损坏(事实并非如此,因为只有两个新用户收到了这个错误,其他人都很好)

这是我的连接字符串:

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

我很确定这是因为用户的机器丢失了一些东西,但我不知道他们能从哪里得到什么。请告知。

您的连接字符串表明您正在使用
Microsoft.ACE.OLEDB.12.0
驱动程序

这必须安装在计算机上,因为它不附带windows


如果错误为无法打开数据库,则可以在

中找到驱动程序。它可能不是应用程序识别的数据库,或者文件可能已损坏,请确保数据库文件(ACCDB/MDB)不超过2GB,因为这是任何Access数据库文件的限制


参考

连接字符串存储在哪里?在配置文件中?如果在文件中,你确定他们有权访问它吗?@Brian它没有存储在配置文件中。访问连接字符串不是问题。您有数据库密码,这意味着它是加密的。如果这是在Access 2010或更高版本中完成的,没有“传统加密”,并且问题用户都有Access 2007,那么这将解释错误。需要Access驱动程序。@HansUp谢谢您的帮助。我现在让一个用户尝试此操作。如果未安装该提供程序,则错误消息应为“未找到提供程序”@HansUp您可能是对的,但鉴于数据库返回空字符串,这似乎表明某种机器问题。如果它在一台机器上成功,而不是在另一台机器上成功,并且没有权限,那么可能是驱动程序的安装损坏了。@jInklagemorgoone请确保它们实际上运行的软件版本与正常运行的机器版本相同,我不希望它变得愚蠢。@paqogomez哪个软件的版本相同-我的应用程序?