数据更新问题。

zhuangjunx 2009-10-30 11:59:51
由于您和其他用户试图同时改变同一数据,导致_Microsoft_Jet_数据库引擎停止进程
access的数据库,在访问量大的时候,就出现那问题了。以下是出现问题的文件代码。

Set rs = conn.execute("select top "&t&" a.url,a.chk,a.id,a.[坐标],a.[用户名] from [广告链接] as a inner join [用户信息] as b on a.[用户名] = b.[用户名] where b.[积分]>0 and a.id>"&maxid&" order by a.id")
i = 0
id = ""
Do While Not rs.eof
temp = temp &rs("ID")&chr(9)&rs("url")&chr(9)&Replace(rs("坐标"),"_",chr(9))&chr(13)&chr(10)
conn.execute("update [用户信息] set [积分]=[积分]-0.2 where 用户名='"&rs("用户名")&"'")
id = rs("id")
set rs1=server.CreateObject("adodb.recordset")
rs1.open "select top 1 id,counts,adddate,urlid from [UrlLog] where adddate=#"&Date()&"# and urlid="&rs("id"),conn,1,3
If rs1.eof Then
rs1.addnew
rs1("adddate")=Date()
rs1("urlid") = rs("id")
rs1("counts") = 1
rs1.update
Else
rs1("counts") = rs1("counts") + 1
End If
rs1.update
rs1.close
Set rs1=Nothing
i = i +1
rs.movenext
Loop
rs.close
Set rs=Nothing
...全文
69 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
weilin_ai 2009-10-30
  • 打赏
  • 举报
回复
每天那么大的数据量 是应该msSQL了
zhuangjunx 2009-10-30
  • 打赏
  • 举报
回复
每天,12W PV 大概。
是不是要用mssql数据库?
asasas20020 2009-10-30
  • 打赏
  • 举报
回复
Do While Not rs.eof 当这个很大的时候。后面的更新。就会很多。就有可能出错。
可以考虑优化业务逻辑。使一次update就能解决。
sumjor 2009-10-30
  • 打赏
  • 举报
回复
用SQL SERVER吧 数据量太大了
zhuangjunx 2009-10-30
  • 打赏
  • 举报
回复
上面的程序是不是也有问题?
凡夫与俗子 2009-10-30
  • 打赏
  • 举报
回复
access文件损坏,有工具可以修复,但要看人品。呵呵,好运
凡夫与俗子 2009-10-30
  • 打赏
  • 举报
回复
访问那么大 当然换SqlServer等更大型的数据库了。
yunxiang2005 2009-10-30
  • 打赏
  • 举报
回复
访问量是够大的啦!建议使用mssql。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧