您现在的位置: 启天网 >> 技术中心 >> 数据库 >> 正文
今天是:
Microsoft JET Database Engine 错误 '80040e14'内存溢出的解决办法           ★★★★★ 【字体:
Microsoft JET Database Engine 错误 '80040e14'内存溢出的解决办法
作者:SKY    文章来源:网络    点击数:    更新时间:2008-9-13

==26个日文片假名导致Access搜索(80040e14/内存溢出)的解决办法==

ゴ ガ ギ グ ゲ ザ ジ ズ ヅ デ ド ポ ベ プ ビ パ ヴ ボ ペ ブ ピ バ ヂ ダ ゾ ゼ

当字段内包含了这26个日文字符任意一个多个时,就会导致在执行SQL语句中包含了

[字段] like '%aaaaa%' 或 inStr(1,[字段],'aaaaa',1)>0

这样的查询时,毫无道理的出现了

"Microsoft JET Database Engine 错误 '80040e14' 内存溢出"的错误

其他Jet SQL函数命令未作测试,大概与字符搜索定位匹配相关的都可能出错

搜索相关资料得知被微软工程师证实是Access的bug,可能是语法关系都是微软的东东

在vbs中 执行inStr(1,日文平假名变量,"aaaaa",1)依然要出现错误

Microsoft VBScript 运行时错误 错误 '800a0005' 无效的过程调用或参数: 'instr'

没有搜索,因这几个字符出现Access的论坛网站搜索无法进行,何等痛苦

昨天一朋友大叫怪事,他的音乐数据库无法搜索了,只有30000条记录时是好的

毫无疑问,日文片假名是祸根,花几分钟把有包含上面的日文替换成"?"搜索顺利恢复

找来论坛程序用户群最大的动网dvBBS AC版本 7.0SP2 版测试,同样有这个日文发帖后 导致无法搜索并且运行时出错的问题

线上去搜索 '80040e14' 内存溢出" 的错误 多的是!

一个简单的方法是:

把如下的语句:

Sql = "select * From [tbname] Where Title like '%"&keyword&"%' Order By id Desc"

换成:

Sql = "select * from [tbname] where InStr(1,LCase(Title),LCase('"&keyword&"'),0)<>0 order by id desc"

文章录入:junsan    责任编辑:junsan05 
  • 上一篇文章:
  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    MySQL删除表中大批量的数据
    在一个机机上让 Microsoft SQL Server 2000…
    SQL SERVER性能优化综述
    微软关于MS SQL Server数据库置疑的解决办法
    SQL Server数据库性能的优化
    SQL Server两种修改对象所有者的方法
    修改SQL Server数据库中的逻辑文件名
    运行SQL Server的计算机间移动数据库
    Hibernate用Mysql数据库时链接关闭异常的解…
    MySQL优化实例
     网友评论:(最新10条。只代表网友观点,与本站立场无关!)