我需要能夠將多個文件上傳到數據庫,並將它們與給定表中的給定記錄相關聯。我最初想到了壓縮所有必要的文件,並將結果字節數組作爲參數連同剩餘的記錄數據一起發送到存儲過程,這樣我就可以確定這起到單個事務的作用,並且檢索所有關聯的文件與給定的記錄將是一塊蛋糕。然而,這一計劃不被接受性能方面的原因,現在我有兩種選擇:將文件上傳到數據庫
創建一個數據結構,它包裝的
byte[]
陣列,(二進制)序列化,並與發送沿數據;或先發送剩餘的數據,獲取記錄的ID並單獨發送每個文件(將其與給定的ID相關聯);
現在,1)看起來太像我的第一個計劃,並有可能即使這次沒有壓縮將參與被拒絕。選項2)似乎是要走的路,但是,我必須保證我將記錄的數據和文件都上傳到單個事務中,這將迫使我在數據層中進行更改(儘管很輕微)。
如果您遇到此問題,您會選擇哪個選項?如果沒有上述那些,那麼哪一個呢?
編輯:數據庫位於遠程服務器中。這些文件可以是任意大的,但我不認爲它們比1-2MB大。將文件存儲在應用程序和數據庫服務器均可訪問的位置不是一種選擇,因此我不能將路徑發送到數據庫的文件(它們必須真正作爲BLOB存儲在數據庫中)。
這些文件有多大,並且是正在運行的應用程序的本地數據庫? –
編輯了這個問題。非常感謝! – DotNetStudent
你真的不想將文件存儲在數據庫中。 –