В этой статье в основном представлено решение проблемы переполнения памяти нечетких запросов ASP в ACCESS. Причиной этой проблемы является проблема с кодировкой символов. Для ее решения используется функция перекодирования.
Сегодня, выполняя ежедневное обслуживание веб-сайта, я обнаружил, что программа сообщений веб-сайта не прошла строгую проверку и фильтрацию, в результате чего образовалось почти 100 000 фрагментов ненужных данных. В нем много важной информации, и данные необходимо очистить и добавить более строгие меры проверки.
Однако удалять непосредственно в базе данных не очень научно, и много важной информации будет удалено по ошибке.
Через нечеткие операторы запроса:
Скопируйте код кода следующим образом:
выберите * в разделе «Отзывы», где есть комментарии типа «%http%»
Результат: «Недостаточно памяти»
После постоянных поисков была найдена основная причина проблемы:
При использовании ключевого слова LIKE для запроса японских символов в asp возникает ошибка, например Chr(-23075), указывающая на переполнение памяти.
Если данные в таблице данных содержат японские или некоторые специальные неупрощенные китайские символы, также возникнут ошибки переполнения памяти.
В Интернете говорится, что вышеуказанная проблема была подтверждена инженерами Microsoft в Microsoft Power Camp и является ошибкой продукта, которую невозможно решить. Единственный способ — закодировать все данные базы данных в текстовый формат ANSI и затем сохранить их. ДЕКОДИРУЙТЕ еще раз, когда отобразится.
Решения нет. Единственный способ — преобразовать поле и сохранить его в другое новое поле, как указано выше, а затем выполнить операцию очистки. Действительно трудно противостоять этим чрезмерным данным.
Функция EncodeString выполняет экранирование символов
Скопируйте код кода следующим образом:
Функция EncodeString(strWords)
Дим и пока
Тусклый стрэнкодевордс
Для i = 1 To Len(strWords)
strEncodeWords = strEncodeWords & CStr(Asc(Mid(strWords, i, 1))) & ","
Следующий
EncodeString = стрEncodeWords
Конечная функция
После экранирования таким способом во время нечеткого поиска экранируйте ключевые слова
Скопируйте код кода следующим образом:
удалить * из обратной связи, где Comments_new, например '%&EncodeString("http")&%'