目前正在将某些ASP网站从Windows Server 2003迁移到Windows Server 2008 R2。我已将问题缩小到这段代码:
set statconn = server.createobject("ADODB.connection")
statconn.open "Provider=Microsoft.ACE.OLEDB.12.0; DATA SOURCE=" & server.mappath("/database/VFEStats.mdb")
Set rsStats = Server.CreateObject("ADODB.recordset")
rsStats.open "select SiteID, StatIP, StatPageViewed, StatRefererPage, StatBrowser, StatUniqueUser, StatQS from WebStats", statconn,2,2,1
rsStats.addnew
rsStats("SiteID") = intSIteID
rsStats("StatIP") = request.servervariables("REMOTE_ADDR")
rsStats("StatPageViewed") = request.servervariables("PATH_INFO")
rsStats("StatRefererPage") = request.servervariables("HTTP_REFERER")
rsStats("StatBrowser") = request.servervariables("HTTP_USER_AGENT")
rsStats("StatUniqueUser") = request.servervariables("LOCAL_ADDR")
rsStats("StatQS") = request.servervariables("QUERY_STRING")
rsStats.update
rsStats.close
set rsStats = nothing
statconn.close
set statconn = nothing
我不相信我必须将它设置为在IIS7中以32位模式运行,因为Microsoft.ACE是一个64位程序。我收到以下错误日志:
GET / |9|800a0cb3|Current_Recordset_does_not_support_updating._This_may_be_a_limitation_of_the_provider__or_of_the_selected_locktype.
我认为这个问题与附加到rsStats.open ...,2,2,1行代码的数字有关。
我想我只需修改此代码即可与新服务器兼容。