使用 SQL Server 遠端提供文件的策略指南
謝謝您的幫助。“我”是一家小型企業的 IT 部門,我的無知可能使我無法提出正確的問題,所以請多多包涵。
目前,我們正在使用 MS Access 前後 - 過渡到 SQL Server Express。目前,我們將保留 MS Access 作為前端,請記住,最終數據將在平板電腦和手機等各種前端使用。我們有各種“附加”或與各種實體相關聯的文件,例如項目、發票、供應商、員工等。目前,我只是將文件儲存在共享中,並通過使用基於簡單命名約定的路徑建構路徑來引用它們根據每條記錄的實體名稱和鍵。這些文件只是按需打開。這在 LAN 環境中效果很好。現在我們將通過 SQL Server 遠端訪問數據,我查看了 FILESTREAMs 和 FILETABLEs 並且我的頭有點旋轉。我不確定這是否是要走的路。還,FTP 和/或 VPN。我不確定 VPN 將來是否適合我們,因為我不知道如何為移動設備設置它,或者這是否是一個可行的選擇。我對使用 FTP 也有同樣的擔憂。我們是一家小公司,如果可能的話,我正在努力降低開支並自己管理。如果您需要更多詳細資訊,請告訴我。你怎麼認為?
將文件放在數據庫表中幾乎總是一個壞主意。您的數據庫伺服器不是文件伺服器。
將文件儲存在某種文件伺服器上,然後將文件的位置與您可能需要的其他元數據一起儲存在數據庫中。你已經在做 - 所以繼續這樣做,你只是要改變你儲存文件的位置/方式(也許)。
並且請不要使用 FTP,為了所有您認為珍貴的人的愛。它已損壞且不安全。使用 SFTP、Azure Blob 儲存或其他安全、可持續、可擴展的文件儲存。
感謝您的輸入。我最終選擇了文件表和 ADO 流的組合。目前,使用者只能對遠端位置的文件進行只讀訪問。該解決方案只需將 file_stream 欄位讀入 ADO 流對象,將文件保存到使用者的臨時文件夾,然後將其脫殼。它似乎工作正常。我很感激你的時間。:)