1

我知道,这个话题听起来很糟糕。但我实际上必须连接这些技术。

问题

我目前正在将公司的 Intranet(主要用经典 ASP 编写)从带有 IIS 6 的 Windows Server 2003 32 位迁移到带有 IIS 7.5 的 Windows Server 2008 R2 64 位。除了一个set conn = server.createobject("adodb.connection")用于连接到connstring="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=path\to\mdb\which\is\really\there".

我打开连接(conn.open connstring),建立一个查询字符串,然后,当我想set rsresult = conn.execute(sqlusr)我得到

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
[Microsoft][ODBC Microsoft Access Driver] ODBC--connection to 'TABLE_THAT_ACTUALLY_EXISTS' failed.

该错误在conn.execute(sqlusr). 当然,它在以前的环境中运行良好。

我尝试了什么?

附加信息

  • mdb只会在 Access 97 中打开(为什么?不要问我:/我不是唯一一个试图在 Access 2000/2003/2007/2010 中打开它的人 - 它无处可去)
  • IIS 7.5 上此网页的应用程序池已将Enable 32-bit Applications选项设置为true。还启用了父路径。

我将不胜感激有关检查/做什么/如何解决此问题的任何其他提示。

4

2 回答 2

1

好的,这是一个有趣的问题。

首先- 使用 Classic ASP - IIS 7.x - ADODB.JET.4.0存在记录问题, 您可以查看解决问题的指南

在 IIS 上将经典 ASP 与 Microsoft Access 数据库结合使用

其次- 我强烈建议您不再使用JET DRIVER,而是使用ADODB.ACE.12.0驱动程序,虽然您可以获得与 JET 驱动程序相同的功能,但您还可以获得新的 Access 文件的优势可以读取格式并且可以在纯 64 位环境中实现驱动程序

ACEDB 驱动程序下载(微软)

使用此驱动程序,您可以将其设置Enable 32-bit Applicationsfalse

于 2012-09-19T17:25:49.683 回答
-1

好的,我解决了我的问题。我能够非常轻松地将数据和表单从 Access 97 导入到 Access 2010。然后我遇到了一些asp及其与mdb的连接问题。所以我直接连接到数据库。我仍然必须修复sql语句,但主要问题已解决。

谢谢!

于 2012-09-20T14:30:57.640 回答