2011-01-11 10 views
1

私は自分のテーブルのフルテキストカタログをセットアップしたSQL 2008データベースを持っています。その目的はasp.net C#Webサイトからそのテーブルに対してフリーテキスト検索を行うことです。 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プロファイラにアクセスすることはできないが、それは私がする必要があると考えられている。これはしばらくの間に見てきた最も奇妙な問題の1つでした。実際にクエリを実行していることを知りたいと思っていたのは、sqlコマンドのバグのようです。すぐに私の開発環境のセットアップが私のテストアプリケーションをプロファイリングされる取得最初に家で新しいPCを再構築する。 –

    答えて

    0

    エラーは一貫していますか?

    • はあなたに
    関連する問題