Este artigo apresenta principalmente a solução para o estouro de memória de consulta difusa do ASP no ACCESS. A razão para esse problema é o problema de codificação de caracteres, que é resolvido usando uma função de transcodificação. Amigos necessitados podem consultar o seguinte.
Hoje, ao fazer manutenção diária em um site, descobri que o programa de mensagens do site não passou por verificação e filtragem rigorosas, resultando em quase 100.000 dados inúteis. Contém muitas informações importantes, o que requer a limpeza dos dados e a adição de medidas de verificação mais rigorosas.
No entanto, não é científico excluir diretamente no banco de dados e muitas informações importantes serão excluídas por engano.
Por meio de instruções de consulta difusa:
Copie o código do código da seguinte forma:
selecione * no Feedback onde comentários como '%http%'
Resultado: "Sem memória"
Após buscas constantes, foi encontrada a principal causa do problema:
Ao usar a palavra-chave LIKE para consultar símbolos japoneses em asp, ocorrerá um erro, como Chr(-23075), indicando um estouro de memória.
Se os dados na tabela de dados contiverem caracteres japoneses ou alguns caracteres especiais do chinês não simplificado, também ocorrerão erros de estouro de memória.
Diz-se online que o problema acima foi confirmado pelos engenheiros da Microsoft no Microsoft Power Camp e é um BUG do produto que não pode ser resolvido. A única maneira é codificar todos os dados do banco de dados no formato de texto ANSI e depois salvá-los. DECODE novamente quando exibido.
Não há solução. A única maneira é converter o campo e salvá-lo em outro novo campo conforme mencionado acima, e então realizar a operação de limpeza. É realmente difícil enfrentar esse excesso de dados.
A função EncodeString executa escape de caracteres
Copie o código do código da seguinte forma:
Função EncodeString(strWords)
Dim i enquanto
Dim strEncodeWords
Para i = 1 para Len(strWords)
strEncodeWords = strEncodeWords & CStr(Asc(Mid(strWords, i, 1))) & ","
Próximo
EncodeString = strEncodeWords
Função final
Depois de escapar desta forma, durante a pesquisa difusa, escape das palavras-chave
Copie o código do código da seguinte forma:
exclua * do Feedback onde Comments_new gosta de '%&EncodeString("http")&%'