未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序
标签:
未在本地计算机上注册microsoft.jet.oledb.解决方法 |
分类: 代码天地 |
开发系统是32位的
x86,目标系统是64位的x64,运行网站程序导入Excel数据,提示:
追踪后了解是版本不同所致,Office与其对应的引擎,及其支持环境如下:
Office 2003 --> Microsoft.Jet.OLEDB.4.0
-->
x86
Office 2007 --> Microsoft.ACE.OLEDB.12.0
--> x86
Office 2010 --> Microsoft.ACE.OLEDB.14.0
--> x64
注意引擎中的字符变化
Jet 到 ACE
对于C#语句如下:
string Filename=“c:\\my.xls”;
找到原因,就可以改变了。解决方法如下(也参考网上方法):
方法一:目标机器应用程序池改变
控制面板 -- 管理工具 -- 双击
Internet 信息服务(IIS)管理器 --
展开左侧机器的名称,点击其中的“应用程序池”--右击 你使用的应用程序池 比如 ASP.NET v4.0
-- 设置应用程序池默认属性 -- 常规 -- 启用32位应用程序,设置为 true。 如下图所示:


方法二:
开发环境的改变
这里使用的是vs2010,改变方法如下:
菜单上 ,生成->配置管理器->平台->点击Any
Cpu选项卡->新建->新建平台->X86。 如下图所示:

加载中…