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



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

问题

我目前正在将公司的内部网(主要用经典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=pathtomdbwhichisreallythere"之外,其他一切都很好。

我打开连接(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)的行。当然,它在以前的环境中运行良好。

我试过什么

  • 连接到Windows Server 2008上的MS Access accdb文件-我知道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。父路径也处于启用状态

我将感谢您提供有关检查/操作/如何解决此问题的任何其他提示。

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

First-使用经典ASP-IIS 7.x-ADODB时存在一个记录在案的问题。JET.4.0你可以看到一个指南来解决你的问题

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

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

ACEDB驱动程序下载 ;Microsoft;

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

好的,我解决了我的问题。我能够很容易地将数据和表格从Access 97导入Access 2010。然后我遇到了一些asp及其与mdb的连接问题。所以我直接连接到数据库。我仍然需要修复sql语句,但主要问题已经解决。

谢谢!

相关内容

  • 没有找到相关文章

最新更新