我的意思是能夠通過Windows資源管理器或其他程序訪問它。我相信答案是這是不可能的。但我真的想知道爲什麼不允許。似乎這些文件可以通過網絡共享以只讀的方式提供。是否可以訪問FILESTREAM共享?
2
A
回答
4
您無法直接訪問Filestream共享並四處探索。任何對Filestream文件的開放都需要使用從SQL Server檢索的路徑,並通過使用NtCreateFile(或包裝器)以及通過EABuffer傳入的相應事務上下文來完成。
可以創建一個新共享並將其指向文件的物理位置,但這是非常沒有意義的,因爲沒有支持將SQL Filestream行解析爲物理文件位置的方式(RsFx篩選器驅動程序處理這些內部轉換),由於併發更新/分區更改,文件位置可能隨時發生更改,您需要將文件夾的安全性放寬到不可接受的級別。如果您在不知道SQL Server的情況下移動或刪除文件,它也會導致數據庫中的損壞。物理文件上的任何鎖都會影響dportas的註釋中提到的刪除操作。
我同意能夠通過瀏覽器瀏覽文件流文件的命名空間並直接通過應用程序打開文件而不需要重寫應用程序將會很好。
1
是的,這是可能的。然而文件流的一點是你通過文件流API獲得訪問權限,而不是直接通過文件系統。請記住,文件名可能會在沒有警告的情況下更改 - 例如更新可能會導致創建新的文件流文件。如果您在SQL Server所需的文件上持有文件系統鎖(即使是共享鎖),那麼可能會導致爭用問題。因此,如果您通過文件系統直接訪問數據,結果將不受支持,並且可能不可靠 - 但是,可能會工作:-)
相關問題
- 1. 是否可以共享DataTrigger?
- 2. 是否可以從共享資源訪問JSF 2非共享資源
- 3. 是否可以通過evernote SDK訪問共享筆記?
- 4. 背景頁面是否可以訪問共享DOM?
- 5. 共享點可訪問性
- 6. 是否可以共享DXVA表面?
- 7. 是否可以使用.Net框架以編程方式登錄對Windows共享(SMB共享)的訪問?
- 8. Filestream共享文件夾權限問題
- 9. 是否可以在共享內存中加載共享庫?
- 10. 訪問權限設置應用程序池用戶訪問FILESTREAM文件共享
- 11. 在VPS服務器上,是否有共享位置,可以訪問多個域?
- 12. 是否可以在crm 2011在線共享訪問自定義實體記錄?
- 13. Flex是否可以訪問/播放位於共享文件夾中的視頻?
- 14. 是否可以通過共享訪問安裝provison配置文件?
- 15. 是否可以在FileStream中設置BufferSize?
- 16. 映射文件共享,以便可以訪問IIS
- 17. Azure共享訪問簽名是否意味着任何人都可以訪問我的Blob?
- 18. 是否可以在共享對象文件中更改共享庫引用?
- 19. 檢查共享內存是否存在,以及是否存在共享內存
- 20. 共享主機是否允許訪問INFORMATION_SCHEMAs?
- 21. 可以通過asp.net訪問flash共享對象嗎?
- 22. Asp - 只有本地主機可以訪問共享驅動器
- 23. 服務可以共享數據訪問對象(DAO)
- 24. Cygwin可以訪問Windows隱藏共享嗎?
- 25. 多個線程可以同時訪問共享內存嗎?
- 26. QMutex訪問共享變量
- 27. 訪問Pthreads共享數據
- 28. OpenCL-共享內存訪問
- 29. 訪問文件共享
- 30. Jboss linux訪問windows共享
SQL Server 11(「Denali」)包含FileTable功能,該功能可以瀏覽Filestream中存儲的文件的命名空間。這有一些限制,但其目的是真正打開從標準Win32應用程序訪問存儲在SQL中的文件數據的可能性。 – MikeW 2011-01-25 07:09:47