2009-08-23 65 views
2

我目前有一個文件系統路徑,我想索引到一個SQL數據庫。我需要訪問數據,以便可以根據修改的時間或部分名稱或許多其他項目對文件執行查詢。如何將文件系統結構同步到SQL?

有沒有辦法以某種方式自動同步文件系統到數據庫,甚至在類似SQL的接口來訪問文件系統,而無需通過文件夾遞歸爬?

我檢查了微軟的Sync Framework 2.0,因爲它現在支持SQL數據庫,但它似乎並不支持同步文件到數據庫。

我敢肯定,其他廠商在媒體中心的文件或程序,如TVersity存儲文件的數據庫以及數據庫做類似的事情,比如微軟。

回答

1

你不提一個編程語言,但這裏是我會怎麼做,我覺得這是像大多數媒體應用保持庫做到這一點(雖然他們可能會在不同的語言writter和使用Win32 API)。

使用.NET讓你的初始數據我會一次遞歸掃描目錄,然後將所有信息添加到數據庫中。然後,我將使用FileSystemWatcher對象來運行服務,以通知有關更改並相應地處理事件。

+0

我使用FileSystemWatcher的唯一問題是服務沒有運行(即機器重啓),而文件活動發生在這個共享上。然後我必須重新掃描一切。 如果沒有其他的工作,我可能必須走這條路。這是我想到的第一個想法。 – mandreko 2009-08-26 00:02:45

0

這聽起來像你想要的是Windows Search。 (或者如果你感覺流血的邊緣,Windows 7 Library功能)。

雖然最終的東西有抓取盤拉出來的信息,無論是您還是第三方服務。

由於旁邊的SQL可能不是該特定工作的最佳工具,具體取決於您想要搜索的內容。樹結構在關係數據庫中高效地表示是非常棘手的 - 您的搜索可能會非常昂貴!

+0

我不確定Windows Search會做我想做的事。我要給它一個鏡頭,但以編程方式訪問它看起來不太容易。 – mandreko 2009-08-26 00:04:42