站内搜索问题错误提示:Microsoft JET Database Engine 错误 '80040e14' 内存溢出 /wmr/web2/search.asp,行 324
作者:文墨网    转贴自:本站原创    点击数:10603

用了半天的时间,明白了文墨网新站站内搜索错误提示的问题。
  错误提示的内容:Microsoft JET Database Engine 错误 '80040e14' 内存溢出 www.ued1.cn/wmr/web2/search.asp,行 324

  这个错误提示,可能是Access的一个BUG,在SQL Server中没有这个问题。原因是由于文章内容、标题、作者署名或者关键字等字段内含有一些日本片假名造成的。26个日文字符一个也没有就不会出现这个问题。
  替换的方式太麻烦了,哪里知道那篇文章里有这些字符呀?后来找到了一个方法,可以一试,程序如下:

<%
'检查有日文片假名的新闻

Server.ScriptTimeout=1200
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( database/medizone_77990.asa )
conn.open   str
sql= select   ArticleID   from   Article

rs.open   sql,conn,1,1
on   error   resume   next
do   until   rs.eof
sql= select   ArticleID   from   Article   where   (content   like   'a ')   and   ArticleID=   &amp;   rs( ArticleID )
Err=0
conn.execute(sql)
if   not   Err=0   then
Response.Write   错误新闻ID:
Response.Write   rs( ArticleID )
Response.Write   <br>
Err=0
'sql   =   delete   *   from   news   where   newsid   = &amp;   rs( newsid )
'conn.execute(sql)
end   if
rs.movenext
loop

rs.close
conn.close
response.write   查找完成
%>

这样你就可以查找出来到底那条信息含有日文片假名,删除那些文字即可。