我们的应用程序将用户文件存储在物理驱动器上(已经有很大一部分了)。这些文件被组织并分组到文件夹中(每个用户一个文件夹)。应用程序还通过在其中创建子文件夹并将文件分组到这些子文件夹中来操作文件夹。每个文件的物理位置都存储在SQL Server数据库中。因此,您可以判断应用程序是否与物理文件系统紧密耦合。我们希望将文件管理操作迁移到SQL Server FILESTREAM。然而,据我所知,FILESTREAM不允许创建由文件夹和文件夹组组成的文件层次结构。此外,FILESTREAM不允许我重命名文件。FILESTREAM是这样的吗?有没有其他选择可以使用FILESTREAM来管理物理文件,而不必显著更改我的应用程序逻辑?
发布于 2010-09-21 00:54:11
有关文件流功能的基本概述,请参阅here。
使用Filestream时,您可以让Sql Server引擎控制NTFS文件的放置和命名。物理路径由引擎抽象,因此客户端不能直接操作/重命名它们。
其思想是,如果您的场景将blobs组织到一个层次结构中,则该层次结构需要在关系级别上实现。
由于打开文件流数据需要通过特殊的API (并涉及Sql Server引擎),因此必须更改现有的客户端代码以使用此API,而不是直接打开NTFS文件。
https://stackoverflow.com/questions/3748709
复制相似问题