我已经阅读了围绕32位/ 64位ODBC驱动程序和应用程序不匹配的大部分讨论。我已经在我的问题中实现了与错误消息有关的文章中的建议,但仍然没有找到成功。我最近从Windows XP转换为Windows 8.1,并且正在尝试重新建立我在XP中的数据库连接。我使用localhost与Active Server Pages(经典ASP)通过系统DSN从本地MS Access数据库提供数据 - 一切都是32位并且在同一台机器上。我已在新的Windows 8.1计算机上启用了所有相关的IIS参数,但不断收到主题行中描述的错误消息。显然,32位应用程序和64位平台之间存在不匹配,但大多数文章建议的解决方法都不起作用(即,从sysWoW64文件夹中的ODBC管理器创建系统DSN)。请帮忙。
答案 0 :(得分:0)
您需要从Microsoft下载中心下载Microsoft Access数据库引擎2010 Redistributable。 32位驱动程序和64位驱动程序都可用。 什么有用?
如果您的64位服务器没有安装Office,请安装64位驱动程序。
如果您的64位服务器安装了32位办公室,请安装32位驱动程序*。
如果您的32位服务器没有安装Office,请安装32位驱动程序。
如果您的32位服务器安装了32位Office,请安装32位驱动程序。
*如果您尝试在64位计算机上安装32位驱动程序,则安装程序会抱怨并失败。但是,如果通过具有管理员权限的命令行(cmd.exe)安装,则安装具有覆盖标志。
AccessDatabaseEngine_x64.exe /passive
ASP经典连接字符串
访问文件
<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\temp\Database1.mdb;Persist Security Info=False;"
Con.Close
%>
Excel文件
<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\temp\book1.xlsx;Extended Properties=Excel 12.0;"
Con.Close
%>
下载这两个驱动程序