运行 经典 asp & ms access 2000 on Windows server 2008 R2 64bit & IIS7.5

Running classic asp & ms access 2000 on Windows server 2008 R2 64bit & IIS7.5

我有一个使用经典 asp 和 MS access 2000 构建的旧网站,并且 运行 在旧服务器上运行良好。我需要它在配备 Windows Server 2008 R2 64 位和 IIS7.5

的新机器上工作

我测试了 ASP classic,在新机器上 运行 没问题。我要做的是与 ms 访问数据库建立连接。

我安装了 "Microsoft Access Database Engine 2010 Redistributable" 64 位并重新启动了机器。

ASP 代码是这样的:

<%dim db
set db=server.createobject("adodb.connection")
db.open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("Staff.mdb")%>

我收到错误信息: “500内部服务器错误。 您要找的资源有问题,无法显示。"

是否需要在 IIS 上进行某种配置或其他...

Driver={Microsoft Access Driver (*.mdb)} 是旧 "Jet" 数据库引擎的 ODBC 驱动程序名称。它附带 Windows,但它仅适用于 32 位应用程序,并且仅适用于较旧的 .mdb 数据库文件格式。

如果你需要

  • 使用 64 位应用程序中的 .mdb 数据库,或
  • 使用来自 任何 应用程序的 .accdb 数据库

那么你需要安装更新的 Access Database Engine (a.k.a "ACE"),你的驱动程序名称需要是 Driver={Microsoft Access Driver (*.mdb, *.accdb)}.

我曾经不得不迁移一个 asp 连接到在 windows 服务器 2003 上工作的 mdb 数据库的 Web 系统移动到在 windows 服务器 2008 R2 上工作。

遇到同样的问题,这样解决

1.The默认设置IIS安装完成后会导致错误时间为运行。问题的详细信息将不会显示在 Web 浏览器上。 通过以下方式解决问题:将 IIS 设置为显示错误

(信用:https://docs.microsoft.com/th-th/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-script-error-messages-no-longer-shown-in-web-browser-by-default

2.The遇到的问题是数据库或对象是只读的。 通过 :

解决问题
  • 将 mdb 文件移出 web 文件夹,而不是 web 子文件夹。 (例如:d:\web_data)

  • 在mdb的新文件夹中,配置对windows用户组的完全控制权限。

  • 使用此命令指定 asp 和 mdb 之间的通道。

    设置康恩 = Server.Createobject("ADODB.Connection")

    Conn.Open "提供商=MICROSOFT.JET.OLEDB.4.0;数据源=d:\web_data\data.mdb"

(信用:https://docs.microsoft.com/th-th/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/using-classic-asp-with-microsoft-access-databases-on-iis

(信用:https://www.thaicreate.com/asp/asp-ms-access-connect-database.html

希望这对您有所帮助。 :-)