系统信息:
Windows专业版。 64位。
IIS 7.0
Office 2007女士32位(来自任务经理)
没有Visual Studio
运行经典ASP
需要连接MS Access 2007数据库。
<%
Dim objCon
Dim objRec
Dim objSql
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Server.MapPath("db/dbTest.accdb")
Set objRec = Server.CreateObject("ADODB.Recordset")
objSql = "select * from tblLogin;"
objRec.Open objSql, objCon
Do While not objRec.EOF
Response.Write ("<br>")
Response.Write (objRec("uid"))
Loop
%>
在.asp文件中使用上面的代码。
错误消息:处理URL时服务器上发生错误。 请联系系统管理员。 如果您是系统管理员,请单击此处以了解有关此错误的更多信息。
我做了什么:
以上链接信息。
在IIS管理器中启用32位应用程序
在64 iis上启用32位应用程序
cscript%SYSTEMDRIVE%\ inetpub \ adminscripts \ adsutil.vbs SET W3SVC / AppPools / Enable32bitAppOnWin64 1
使用下面的选项手动选择.accdb(这是正确的方法吗?)
%WINDIR%\ SysWow64资料\ odbcad32.exe的
答案 0 :(得分:1)
如果是Access 2003或更早版本,则数据库的扩展名为.mdb,而不是.accdb
使用JET OLEDB驱动程序
PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.Mappath("db/dbTest.mdb")
JET是32位,因此您需要启用32位应用程序
对于Access 2007以上,请根据您的示例使用ACE驱动程序。 ACE是64位,因此您不需要启用32位应用程序,实际上您可能需要禁用它们 - IIS似乎是/或在这些情况下