2011-01-11 3 views
1

내 테이블 중 하나에 대한 전체 텍스트 카탈로그 설치와 함께 SQL 2008 데이터베이스를 가지고 있으며 목표는 asp.net C# 웹 사이트에서 해당 테이블에 대해 프리 텍스트 검색을 수행 할 수있게하는 것입니다. freetext 값은 여러 개의 키워드를 가질 수 있습니다. SQL Management Studio를 사용하면 다음과 같은 쿼리를 수동으로 실행할 수 있습니다.C# 여러 키워드 Fulltext Freetext 매개 변수화 된 쿼리

SELECT * FROM KnowledgeFAQ_Answers WHERE FREETEXT ((Title, [Text]), 'application deadlines') Order By Rank() Over (Order By Title) 

모든 것이 올바르게 작동합니다. 내 쿼리를받은 후 내 웹 사이트에 데이터 액세스 코드를 만들었지 만 대부분 제대로 작동하지만 특정 상황에서는 불일치가 있습니다. 검색 문자열에있는 특정 작은 단어는 빈 데이터 판독기 만 반환합니다. 그러나 SQL Management Studio에서 직접 동일한 문구를 테스트하면 결과가 올바르게 반환됩니다. 예를 들어 "입학 마감 기한"은 결과가있는 독자를 돌려 보내지 만 결과를 생성하는 쿼리를 수동으로 실행하더라도 갑자기 아무것도 반환하지 않습니다. 확실한 말로, 볼 수있는 특별한 이유가 없기 때문에 0 개의 결과가 나오지만 SQL 오류가 발생하지 않습니다. 단지 빈 datareader 만 반환합니다. sqlcommand 객체가 구문을 깨지 않지만 일치하는 결과를 생성하지 않는 방식으로 이러한 구문을 특수하게 구문 분석하는 것처럼 보입니다. 누구나 sqlcommand 객체를 통해 프리 텍스트 쿼리에서 여러 키워드의 작동 예제를 가지고 있습니까? 그리고/또는이 작동하지 않는 이유에 관해서 추론 할 수 있습니까?

+0

가 실제로 명령 개체에서 해고 된 쿼리에 대한 SQL 프로파일을 확인 시도 인덱스의

  • 또는 업데이트/인덱싱을 유령 중지 목록을 수 있을까? –

  • +0

    긴 이야기지만 순간에 현재 환경에서 SQL 프로파일 러에 액세스 할 수 없지만 내가해야 할 일이라고 생각했습니다. 이것은 내가 본 것 중에 가장 기괴한 문제 중 하나였습니다. 그래서 실제로 쿼리하는 것이 무엇인지 알고 싶어했습니다 ... 거의 sqlcommand로 버그처럼 보입니다. 집에서 새 PC를 곧 다시 작성하면 내 dev 환경 설치 프로그램이 내 테스트 응용 프로그램을 프로파일 링하게됩니다. –

    답변

    0

    오류가 일관됩니까?

    • 당신에게
    관련 문제