在Server 2016/IIS 10下用ASP连接ACCESS数据库

服务器升级到Server 2016,有一些在旧平台上开发的web应用需要迁移过来。

其中有一个ASP+ACCESS开发的小应用,迁移到Server 2016后,访问时报告“ADODB.Connection 错误 '800a0e7a'”。

问题显而易见,是新的Server 2016上没有安装数据库驱动导致的。

这个web应用之前工作在Server 2008 R2上,也是x64的系统环境,看了一下conn.asp里面的连接字串是这么写的:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.provider="microsoft.ACE.oledb.12.0;Jet OLEDB:Database Password="
ConnStr = Server.MapPath("" & "db.accdb" & "")
Conn.Opeo ConnStr

 microsoft.ACE.oledb.12.0 ,那么这应该是调用了“Microsoft Access Database Engine 2007”。

查了一下,Microsoft Access Database Engine已经有2016版了。下载地址如下:

https://www.microsoft.com/en-us/download/details.aspx?id=54920

安装后,修改连接字串,即可正常工作:

Conn.provider="microsoft.ACE.oledb.16.0;Jet OLEDB:Database Password="

注:IIS 10默认安装不包含ASP功能支持,添加功能角色时注意勾选。

==========sp1==========

在Server 2016上使用Access Database Engine2016可能出现各种奇怪的故障,如查询时间变慢、IIS进程崩溃等。

如果遇到这些问题,请使用ADE2010 x64版本。详见:https://blog.csdn.net/robur/article/details/82660017

发布了291 篇原创文章 · 获赞 34 · 访问量 83万+

猜你喜欢

转载自blog.csdn.net/robur/article/details/81843547