Artikel ini terutama memperkenalkan solusi untuk overflow memori kueri fuzzy ASP di ACCESS. Alasan untuk masalah ini adalah masalah pengkodean karakter yang digunakan untuk menyelesaikannya
Saat ini, saat melakukan pemeliharaan harian pada sebuah situs web, saya menemukan bahwa program pesan situs web tersebut tidak menjalani verifikasi dan penyaringan yang ketat, sehingga menghasilkan hampir 100.000 data sampah. Ada banyak informasi penting di dalamnya, dan data perlu dibersihkan dan ditambahkan tindakan verifikasi yang lebih ketat.
Namun, tidaklah ilmiah untuk menghapus langsung dari database, dan banyak informasi penting akan terhapus secara tidak sengaja.
Melalui pernyataan kueri fuzzy:
Copy kode kodenya sebagai berikut:
pilih * dari Masukan di mana Komentar seperti '%http%'
Hasil: "Kehabisan memori"
Setelah pencarian terus-menerus, penyebab utama masalah ditemukan:
Saat menggunakan kata kunci LIKE untuk menanyakan simbol Jepang di asp, kesalahan akan terjadi, seperti Chr(-23075), yang menunjukkan kelebihan memori.
Jika data dalam tabel data berisi karakter Jepang atau karakter khusus China yang tidak disederhanakan, kesalahan kelebihan memori juga akan terjadi.
Dikatakan secara online bahwa masalah di atas telah dikonfirmasi oleh para insinyur Microsoft di Microsoft Power Camp dan merupakan BUG produk yang tidak dapat diselesaikan. Satu-satunya cara adalah dengan mengkodekan seluruh data database ke dalam format teks ANSI dan kemudian menyimpannya. DECODE lagi saat ditampilkan.
Tidak ada solusi. Satu-satunya cara adalah mengonversi bidang tersebut dan menyimpannya ke bidang baru lainnya seperti yang disebutkan di atas, lalu melakukan operasi pembersihan. Sungguh sulit menghadapi data yang berlebihan ini.
Fungsi EncodeString melakukan pelolosan karakter
Copy kode kodenya sebagai berikut:
Fungsi EncodeString (strWords)
Redupkan Aku Selamanya
Redupkan strEncodeWords
Untuk i = 1 Ke Len(strWords)
strEncodeWords = strEncodeWords & CStr(Asc(Mid(strWords, i, 1))) & ","
Berikutnya
EncodeString = strEncodeWords
Fungsi Akhir
Setelah keluar dengan cara ini, selama pencarian fuzzy, keluar dari kata kunci
Copy kode kodenya sebagai berikut:
hapus * dari Umpan Balik di mana Komentar_baru seperti '%&EncodeString("http")&%'