2

現在、SQLデータベースにインデックスを付けたいファイルシステムパスがあります。変更された時間、部分的な名前、または他の多くの項目に基づいてファイルに対してクエリを実行できるように、データにアクセスする必要があります。

フォルダを再帰的にクロールすることなく、ファイルシステムをデータベースに自動的に同期する方法、またはSQLのようなインターフェイスでファイルシステムにアクセスする方法はありますか?

現在SQLデータベースをサポートしているのでMicrosoftSyncFramework 2.0をチェックしていましたが、データベースへのファイルの同期をサポートしていないようです。

Media Centerのファイルのデータベース用のMicrosoftや、ファイルのデータベースを保存するTVersityのようなプログラムなど、他のベンダーも同様のことをしていると思います。

4

2 に答える 2

1

プログラミング言語については言及していませんが、これが私が行う方法であり、ライブラリを維持しているほとんどのメディアアプリがそれを行う方法だと思います(ただし、異なる言語で記述され、win32 apiを使用する場合があります)。

.netを使用して初期データを取得すると、ディレクトリを再帰的にスキャンしてから、すべての情報をデータベースに追加します。次に、FileSystemWatcherオブジェクトを使用してサービスを実行し、変更について通知を受け、それに応じてイベントを処理します。

于 2009-08-23T22:48:10.777 に答える
0

必要なのはWindowsSearchのようです。(または、最先端を感じている場合はWindows 7ライブラリ機能)。

最終的には、情報を引き出すためにディスクをクロールする必要がありますが、それがあなたであろうとサードパーティのサービスであろうと。

余談ですが、検索する対象によっては、SQLがその特定のジョブに最適なツールではない場合があります。ツリー構造は、リレーショナルデータベースで効率的に表現するのが難しいことで有名です。検索には、かなりの費用がかかる可能性があります。

于 2009-08-24T00:49:05.813 に答える