我用OLEDB访问数据库,当打开数据库连接时出现如下问题:
An unhandled exception of type 'System.InvalidOperationException' occurred in RoSE.EXEAdditional information: The .Net Framework OleDb Data Provider requires Microsoft Data Access Components(MDAC) version 2.6 or later.  Version 2.50.4403.12 was found currently installed.
我的系统是winxp +sp2,.net2005 Beta2
经网上查找资料,不少人(包括在win2K+sp4+.net2003)出现跟我同样的问题。sp2自带了MDAC2.81,怎么.net检查不到呢。
程序(连接字符串)绝对不会错。而且在有些机器上运行很好。。有些机器就出现以上问题。。所有机器都是winxp + sp2 +donet.net 2.0
希望大家能帮我解决这个问题很急啊
winxp sp2 自带了MDAC2.81,如果再安装是安装不上的。我式了。
而且安装了2.6,或2.7同样不能用

解决方案 »

  1.   

    重新安装MDAC2.7,把c:\winnt\system32\Oledb32.dll文件手工拷进去,因为你安装时一些程序或进程在使用它,在安装时没有更新这个文件
      

  2.   

    去微软网站下载一下这个文件
    CHN_Q832483_MDAC_x86.EXE
    安装一下就可以了
      

  3.   

    非常感谢楼上三位的回复。1、系统是很好的。
    2、Oledb32.dll在System32文件夹里没有。在C:\Program Files\Common Files\System\Ole DB有。
    我重新注册了这个文件还是不行。
    3、我下了CHN_Q832483_MDAC_x86.EXE,且安装时出现错误:
    An error occurred while setup was trying to verify the version of Microsoft Data Access Components current installed on the machine.
    Either the version currently installed does not match the version of this hotfix package, or setup was unable to determine the version currently installed.
    系统是:xp+sp2
      

  4.   

    关于MDAC的问题我以前也碰到一个无论是安装还是卸载后再安装都没有用。
    总是提示MDAC有错误,但是版本是老的。安装MDAC2.8总是说已经安装了。
    访问了许多网站都没有结果。
    最后只能 REINSTALL,没有办法。
      

  5.   

    今天我进行了一次比较测试:
    分别用.net2003和.net2005 Beta2写了一个打开数据库(Access)的程序。
    结果发现.net2003写的程序可以打开。2005 的不能。
    是不是.net 2005 有问题。无法检测到MDAC是2.8的版本。还是.net 2005 框架框架不能跟winxp + sp2兼容???