==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”
- 转载请注明来源:日文导致Access搜索(80040e14/内存溢出)的解决
- 本文永久链接地址:https://3v.org.cn/?p=48
Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /www/wwwroot/3v.org.cn/wp-content/themes/Play-LM/comments.php on line 20