这几天饱受各种折腾,领导的、同事的、朋友的,还有网站数据库的。一直运行的好的居然出现内存溢出故障。经历了万能的Google后知道这个是access的问题。看来升级SQL需要提速了。
基本是这个鸟样,access中有日文名字,当使用like做查询的时候就会出现“内存溢出”故障,这个是微软送给大家的礼物。具体的解决办法就是
- 删除有问题的数据条目
- 在记录数据的时候把日文名字替换成别的字符。
- 有更完美的办法我认为更麻烦,大家可以google查询。另外有这么麻烦还不如升级数据到mssql这样就安逸了,毕竟access的功能摆在哪里。
对于和我一样对asp代码不太熟悉奉献一段代码来查找有问题的数据记录
<%
'检查有日文片假名的新闻
'木鸟 于 2003.8.10
Server.ScriptTimeout=300
dim conn,str,rs, sql
set conn=server.createobject("adodb.connection")
set rs=server.createobject("adodb.recordset")
str="provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("db/iwms.cs")
conn.open str
sql="select articleid from iwms_news"
rs.open sql,conn,1,1
on error resume next
do until rs.eof
sql="select articleid from iwms_news where (title like 'a' or content like 'a') and articleid="& rs("articleid")
Err=0
conn.execute(sql)
if not Err=0 then
Response.Write "错误新闻ID:"
Response.Write rs("articleid")
Response.Write "<br>"
Err=0
end if
rs.movenext
loop
rs.close
conn.close
response.write "查找完成"
%>
俺保留了版权信息,希望大家可以尊重劳动