数据库转换后 程序出现"行集不支持反向提取"这个问题如何解决?```
小弟在修改一个asp程序时遇到问题. 该程序原使用access数据库,我在mssql里新建了一个数据库,然后把原access数据库里的数据导入到了Mssql数据库,并修改了asp程序代码里相应的数据连接代码. 修改后程序的其他页面运行没有发现问题,但是在运行一个管理员审核用户的admin_main.asp页面(该页面包含page.asp)时发生以下错误:
HTTP 错误 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务
--------------------------------------------
技术信息(用于支持人员)
错误类型:
Microsoft OLE DB Provider for SQL Server (0x80040E24)
行集不支持反向提取。
/app/Page.Asp, 第 13 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
网页:
GET /app/admin/Admin_main.Asp
------------------------------
Admin_main.Asp 页面所包含的page.asp页面 代码如下:
<%
If Request( "Page ")= " " Or Isempty(Request( "Page ")) Then
Page = 1
Else
Page=Int(Request( "Page "))
End If
Sub PageCount(PageValue)
Rs.Pagesize = PageValue
If Page> Rs.Pagecount then
Page=Rs.Pagecount
End if
if not Rs.BOF then
Rs.Move Rs.PageSize*(Page-1) ' 这是错误信息指向的出错代码
End if
End Sub
Sub PagePro(PageValue)
if Rs.RecordCount> =1 then
if Page-1 mod 10=0 then
p=(Page-1) \ 10
Else
p=(Page-1) \ 10
End if
Response.Write "共 <font color=red> "& Rs.RecordCount & " </font> 条记录,分 "& Rs.Pagecount & "页: "
If p*10> 0 then Response.Write " <a href= '? "&PageValue& "Page= "&p*10& " ' title=上十页> [<<] </a> "
uming_i=1
For ii=p*10+1 to P*10+10
If ii=Page then
Response.Write " <font color=#ff0000> [ "+Cstr(ii)+ "] </font> "
Else
Response.Write " <a href= '? "&PageValue& "Page= "&ii& " '> [ "+Cstr(ii)+ "] </a> "
End if
if ii=Rs.Pagecount then exit for
uming_i=uming_i+1
Next
If ii <=Rs.Pagecount and uming_i=11 then Response.Write " <a href= '? "&PageValue& "Page= "&ii& " ' title=下十页> [>>] </a> "
End If
End Sub
%>
-----------------------------
我换回原来的access数据库后没有问题,但是连上MSSQL数据库后该页面就出错.请问大伙如何解决这个问题? 感激大伙不吝指点~~`~
------解决方案--------------------是你的游标类型使用不对
------解决方案--------------------把 "Internet 来宾帐户 "的权限改为可以写入 data 目录.