未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

环境:windows server 2012   运行环境:  .Net Framework 4.5  Web服务器:IIS7+

今天帮一位朋友处理2013年开发的一个Asp.Net项目,这么多年,经过了很多人的修改,已经不是一个乱字说的了的。前些天,更换了磁盘,

又重新部署了环境。这个网站,因为的确比较老了,iis应用程序池必须是经典模式而且启用32位,今天抽空,检查一下,到底是那块的内容

必须依赖32位。后来发现其网站某些模块,使用了Access数据库,在集成模式下,会提示“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序”。出现该问题主要原因:Jet项目已经停止,64位的系统是不支持Jet的。因此,得考虑其它方案。

具体的解决方法,就是采用ACE的方式,

具体如下:

1. 修改连接字符串 原始:OleDbConnectionconn = new OleDbConnection("Provider = Microsoft.Jet."+ "OLEDB.4.0; Data Source =" + path + ";" + "Extended Properties=Excel 8.0");

改为:OleDbConnectionconn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";" + "Extended Properties=\"Excel 12.0;IMEX=1;HDR=YES;\"");

(只做第1步更改,运行程序还会报错:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序)

2. 安装Microsoft Access 数据库引擎

(1)2007 Office system 驱动程序

http://www.microsoft.com/zh-CN/download/details.aspx?id=23734

支持的操作系统:Windows Server 2003 Service Pack 1, Windows Vista, Windows XP Service Pack 2

此下载适用于以下 Office 程序:2007 Microsoft Office system

(2)Microsoft Access 2010 数据库引擎

http://www.microsoft.com/zh-CN/download/details.aspx?id=13255

支持的操作系统:Windows 7, Windows 8, Windows Server 2003, Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 1, Windows XP Service Pack 2

在服务器上安装,AccessDatabaseEngine_X64.exe。安装成功后,再启用集成模式,访问网站,一切正常了。

转载于:https://my.oschina.net/lichaoqiang/blog/3083067

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值