在Visual Studio 2010专业版中创建数据连接时无法识别的数据库格式

时间:2013-02-22 17:44:39

标签: visual-studio-2010 visual-studio ms-access

我是一名学生参加入门编程课程并且遇到了访问数据库的一些问题。我使用Visual Studio 2010专业版和Microsoft Office 2013开发人员预览版(我是使用预览版的穷人大学生)。

每次我在Visual Studio中建立数据库连接(我们的教授向我们介绍数据库概念)时,我会导航到我选择创建新数据连接的位置,我选择Microsoft Access数据库文件作为数据源并且用于OLE DB的.NET Framework Provider作为数据提供程序(该文件是.accdb,filename:Northwind销售Web数据库)。

我继续到下一个屏幕,浏览数据库文件并选择它,然后选择测试连接并收到错误消息

  

“无法识别的数据库格式”C:\ Users \ Isaiah \ Documents \ Northwind   sales web database.accdb'。“

我做了一些研究,发现有些人在Office 2007和2010上遇到了这个问题,并且能够通过安装“Microsoft Access数据库引擎2010可再发行组件”和/或“2007 Office System驱动程序:数据连接组件”来修复它。

我试过了两个 安装2010 Redistributable时,我将不再收到无法识别的数据库格式错误,而是收到错误

  

“Microsoft.ACE.OLEDB.12.0”提供程序未在本地注册   机“。

发生此错误的某些人发现在2010 Redistributable之上安装2007 Office System Driver将解决他们的问题,
我试过这个,它所做的就是让我再次收到旧的错误信息 我已经尝试安装一个文件,而不是另一个文件,看它是否有所作为,它没有,没有解决方案出现。有些人发现确保将它们设置为x86系统的编译解决了这个问题,它不适合我。

我正在运行Windows 8 64位,并且在运行Windows 7 64位时也遇到此问题 请帮助我,因为我没有想法,如果我的系统没有正常工作,我将开始落后于课程。

非常感谢任何想法

1 个答案:

答案 0 :(得分:2)

您为哪个平台编译应用程序?通常,您有两种选择:x86AnyCPU。 如果编译为AnyCPU,那么您的代码将在64位系统上以64位代码或32位系统中的32位代码执行。如果编译为x86,那么您的代码将始终作为32位和64位系统中的32位代码执行。所以AnyCPU似乎是显而易见的选择。现在想象一下Microsoft团队开发了" Microsoft Access数据库引擎2010可再发行组件"。他们选择构建其驱动程序的单独版本。结果是:如果您为AnyCPU构建并在安装了32位版本引擎的64位系统上运行,则无法使用其代码。您需要安装64位版本,但现在您需要安装64位版本的Office,否则您无法使用它。将应用程序切换到32位代码并选择x86目标平台要好得多。 (不,你不能在同一台机器上安装这两个版本)