2011-08-01 34 views
0

我正在使用需要连接到数据库以获取我拥有的excel文件信息的c#应用程序。使用Windows 7 MDAC的问题

的问题是,直到我做了注册表清理,我总是得到如下错误:

System.InvalidOperationException : The .Net Framework Data Providers require Microsoft Data Access Components(MDAC). Please install Microsoft Data Access Components(MDAC) version 2.6 or later. ----> System.Runtime.InteropServices.COMException : Retrieving the COM class factory for component with CLSID {2206CDB2-19C1-11D1-89E0-00C04FD7A829} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

我不知道,如果注册表清理了,但它是可以做任何事情的唯一的事。 即时通讯使用Windows 7我读了它已经包含在核心组件,我不能重新安装它。

我该怎么办?似乎我找到的任何解决方案都无法正常工作。

谢谢!

回答

0

也许你有一个不兼容的问题(见this KB),这里是从Wikipedia的摘录: 的Windows 7 SP1已经打破向后MDAC 2.8的兼容性。在Windows 7 SP1上编译的依赖于MDAC ADO的软件在Windows 7 SP1(包括Windows 7 RTM,Vista,XP)之前的Windows版本上无法使用。微软提供了解决方案来解决某些应用程序的这个问题,但VBA应用程序仍然受到影响。

+0

我不认为这会是不兼容。症状不像我的错误...我遇到了MDAC的消息问题。而且我知道w7使用另一个组件(mdac的升级),所以...对于我的代码和w7来说不是问题,因为两天前它工作正常 – FrioneL

0

您是否试过将应用程序编译为x86平台?