我的意思是能够通过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