我在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
网上的解决方式大概如下,但是行不通:
需要注意的问题和解决方法:
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位系统
-------
解决了,在对应的 IIS 应用程序池中,“设置应用程序池默认属性”/“常规”/"启用32位应用程序",设置为 true。
估计是Windows 里已经有了 Microsoft.Jet.OLEDB.4.0,32位的,但是默认情况下应用程序池不启用32位程序,所以显示没有安装“Microsoft.Jet.OLEDB.4.0”。
http://blog.crowe.co.nz/blog/archive/2007/04/16/728.aspx