Windows Server 2008,IIS7.5和MS Access 97数据库的连接

时间:2012-09-19 10:27:39

标签: ms-access asp-classic windows-server-2008 iis-7.5 ado

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

问题

我目前正在将公司的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)的行中抛出该错误。当然,它在以前的环境中运行良好。

我尝试了什么?

  • connect to MS Access accdb file on Windows Server 2008 - 我了解到Windows Server 2008预装了MSJet,所以这个问题毫无用处(提醒:mdb适用于Access 97)
  • http://support.microsoft.com/kb/168336 - 这实际上是连接的方式,但我认为这可能是错误的,拼写错误,......
  • 我将以前服务器上的ODBC数据源复制到新服务器(我保留了名称) - 问题仍然存在
  • 我在Windows Server 2008计算机上安装了最新更新

其他信息

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

如果有关于检查/操作/如何解决此问题的任何其他提示,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

首先 - 使用经典ASP存在记录的问题 - IIS 7.x - ADODB.JET.4.0 你可以看到解决问题的指南

Using Classic ASP with Microsoft Access Databases on IIS

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

ACEDB driver download (Microsoft)

使用此驱动程序,您可以将Enable 32-bit Applications设置为 false

答案 1 :(得分:-1)

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

谢谢!