我知道,这个话题听起来很糟糕。但实际上我必须连接这些技术。
我目前正在将公司的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 - 它无处可去)Enable 32-bit Applications
选项设置为 true 。父路径也已启用。如果有关于检查/操作/如何解决此问题的任何其他提示,我将不胜感激。
答案 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)
谢谢!