2009-11-11 36 views
0

我有一個ASP.NET應用程序(vb.net代碼隱藏),由於它在一個服務器共享中存儲TIFF文件而導致嚴重的性能問題。現在有超過一百萬個.TIF文件!應用程序使用Oracle數據庫表中的相應行跟蹤屬性的掃描圖像。我們有這樣的想法,將圖像本身存儲在新的Oracle表中可能會更好。如何才能做到這一點?如何在Oracle中存儲TIFF文件?

我們考慮的另一種解決方案是將服務器共享按狀態分爲多個文件夾(OH文件夾,WV文件夾,VA文件夾等)。看起來像數據庫選項可能更具長期意義 - 長遠,但我們該怎麼做呢? TIFF可以存儲在BLOB列中,然後使用.NET提取回TIFF格式?任何人都知道嗎?

回答

3

是的,您可以在Oracle的BLOB數據類型中存儲TIFF文件。

檢出this鏈接以使用ADO.NET獲取BLOB字段內容。

+0

我沒有按照示例的方式使用數據集對其進行編碼,但試圖將其編碼爲對存儲包的調用過程通過參數傳遞TIFF文件的字節數組。能夠只存儲字節數組的一個字節 - 當我沒有在Oracle參數中傳遞存儲過程的長度時。添加一個長度會給我一個錯誤。參數的每個其他組合都會拋出錯誤。該錯誤表示不兼容或不合理的轉換(現在不記得確切的措辭)。我嘗試了ODP.net和Microsoft Oracle DataProvider。我現在已經放棄了Blob。 – Greg 2009-11-25 13:47:34

0

除了存儲在數據庫中,如果將不同文件夾中的一千個文件組分開存儲,則性能應該會提高很多。 在Windows環境中,文件數量非常大的文件夾會嚴重降低性能