ASP 가 ACCESS 에서'메모리 넘 침'을 모호 하 게 조회 하 는 해결 방법

오늘 한 사 이 트 를 일상 적 으로 유지 할 때 이 사이트 의 댓 글 프로그램 이 엄격 한 검증 을 거치 지 않 아 10 만 개의 쓰레기 데 이 터 를 만 들 었 다 는 것 을 발견 했다.그 중에서 도 중요 한 정보 가 적지 않 기 때문에 데 이 터 를 정리 하고 더욱 엄격 한 검증 조 치 를 취해 야 한다.
데이터베이스 에서 직접 삭제 하 는 것 은 과학적 이지 않 아 중요 한 정 보 를 잘못 삭제 할 수 있다.
모호 한 검색 어 를 통 해:

select * from Feedback where Comments like '%http%'
결과:"메모리 넘 침"
끊 임 없 는 검색 을 통 해 문제 의 주요 원인 을 찾 아 냈 다.
asp 에서 LIKE 키워드 로 일본어 기 호 를 조회 하면 오류 가 발생 합 니 다.예 를 들 어 Chr(-23075)는 메모리 가 넘 치 는 것 을 알려 줍 니 다.데이터 시트 에 있 는 데이터 가 일본어 나 특수 비 간 체 한자 기 호 를 포함 하고 있 으 면 메모리 가 넘 치 는 오류 가 발생 할 수 있 습 니 다.
인터넷 에 따 르 면 이 같은 문 제 는 마이크로소프트 파워 캠프 의 마이크로소프트 엔지니어 가 제품 의 BUG 로 해결 할 수 없다 는 것 을 확인 했다.유일한 방법 은 전체 데이터베이스 에 있 는 데 이 터 를 ANSI 텍스트 형식 으로 인 코딩 한 다음 저장 하 는 것 이다.표시 할 때 DECODE.
풀 리 지 않 습 니 다.위 에서 말 한 대로 필드 변환 을 해서 다른 새 필드 에 저장 한 다음 청소 작업 을 해 야 합 니 다.이 기준 치 초과 데이터 에 직면 하 는 것 은 정말 어렵다.
EncodeString 함수 문자 변환

Function EncodeString(strWords)
    Dim i As Long
    Dim strEncodeWords
    For i = 1 To Len(strWords)
        strEncodeWords = strEncodeWords & CStr(Asc(Mid(strWords, i, 1))) & ","
    Next

    EncodeString = strEncodeWords
End Function
이렇게 전 의 를 거 친 후 모호 한 검색 을 할 때 키 워드 를 전의 합 니 다.

delete * from Feedback where Comments_new like '%&EncodeString("http")&%'

좋은 웹페이지 즐겨찾기