2009年9月22日 星期二

Access 造成的記憶體不足

當遇到Access的錯誤訊息如下:

錯誤類型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] 記憶體不足

通常是因為下了LIKE搜尋後,資料庫中有含到下列的日文字元引起的
ガギグゲゴザジズゼゾダヂヅデドバビブベボパ ピ プ ペ ポ

解決方法:
SELECT * FROM [TB] WHERE name LIKE '%' + ? + '%'


改成

SELECT * FROM [TB] WHERE InStr(1,LCase(name),LCase(?),0) <>0

參考資料
http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/dc4ef76e-471b-4148-a5b4-265669c47d65
http://jason.onweb.idv.tw/archives/002778.html