我在Web App程序里面用“Microsoft.Jet.OLEDB.4.0”来连接Excel文件,导入到数据库,在Windows 2003+ Office 2007 的环境下正常,但是在Windows 2008 R2 + Office 2010 Beta 下,出现这样的错误"未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序"网上的解决方式大概如下,但是行不通:
需要注意的问题和解决方法:
1.Microsoft.Jet.OLEDB.4.0不要写成Miscrosoft.Jet.OLEDB.4.0,;
2.Data Source不要写成“Data Sourse”,
3.检查是否安装了Office
4.重新安装注册MDAC28.exe (一般你的安装目录里有或者到微软的官方网站上下)
5. 如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86因为程序原先在 Windows 2003 下是行的,连接串本身应该没错,Office 2010 我安装了, MDAC28我下下载了,打开执行时解压缩窗口就没了,不知道有没有安装,而微软官方说MDAC28支持X86,似乎不支持64位系统,我现在是64位系统1、怎么解决"未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序"这个问题?
2、怎么查看我有没有安装“Microsoft.Jet.OLEDB.4.0”?

解决方案 »

  1.   

    我在VISTA中也报“未在本地计算机上注册Microsoft.ACE.OLEDB.12.0提供程序”这个错误
      

  2.   

    Microsoft.Jet.OLEDB.4.0
    可能不支持这样的驱动连接 换种写法
      

  3.   

    打包时,系统必备中,加上 Microsoft Data Access Components 2.8
      

  4.   

    Oledb.4.0在64位系统上不支持,查了半天才找到答案
      

  5.   

    我的程序也有这个问题 是把编译选项由any cpu 改为x86就可以
    估计是oledb没有64位版 但32位的程序还是可以找到32位版
      

  6.   

    在对应的 IIS 应用程序池中,“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true;
    我自己试过是可以的了,我的也是刚刚装了64位,麻烦死,找了几天。。终于搞定。。哈哈
      

  7.   

    应用程序池->启用32位应用程序池,ok搞定。